| LOGPROF.CONF(5) | AppArmor | LOGPROF.CONF(5) |
نام (NAME)
logprof.conf - فایل پیکربندی برای ابزارهای پروفایلبندی AppArmor
توضیحات (DESCRIPTION)
برنامه aa-logprof(1) را میتوان با محتویات logprof.conf به نحوی پیکربندی کرد که رفتارهای پیشفرض خاصی داشته باشد.
بخش [qualifiers] برنامههای مشخصی را فهرست میکند که باید هنگام پرسش درباره این که با چه حالتی اجرا شوند، زیرمجموعهای از فهرست کامل ix/px/ux به آنها اختصاص یابد.
از آنجا که ایجاد یک پروفایل جداگانه برای /bin/bash خطرناک است، میتوان مشخص کرد که برای /bin/bash، فقط گزینههای (I)nherit، (U)nconstrained و (D)eny مجاز باشند و هنگام پرسش درباره افزودن آن به یک پروفایل، فقط همین گزینهها در اعلان نمایش داده شوند.
به همین ترتیب، اگر برنامهای در حال حاضر /bin/mount را در حالت ix یا px اجرا کند، کار نخواهد کرد؛ بنابراین میتوان تنها گزینههای (U)nconstrained و (D)eny را به عنوان گزینههای ممکن ارائه داد.
و برنامههای خاصی مانند grep، awk، sed، cp و mkdir باید همواره به جای داشتن پروفایل جداگانه یا اجرا به صورت مهارنشده (unconfined)، پروفایل والد را به ارث ببرند، بنابراین برای آنها میتوان مشخص کرد که فقط (I)nherit و (D)eny گزینههای مجاز باشند.
هر برنامهای که در بخش qualifiers فهرست نشده باشد، مجموعه کامل گزینههای (I)nherit / (P)rofile / (U)nconstrained / (D)eny را دریافت میکند.
اگر کاربر قصد انجام کار پیچیدهتری دارد و خواهان رفتاری متفاوت است، میتواند خط مربوطه را در فایل پیکربندی تغییر داده یا حذف کند.
بخش [defaulthat] برنامههای آگاه از changehat و اینکه اگر کاربر مشخص کند دسترسی مجاز است اما نباید کلاه (hat) اختصاصی داشته باشد، aa-logprof(1) ورودیهای آن برنامه را به چه کلاهی تقلیل خواهد داد، فهرست میکند.
بخش [globs] امکان اصلاح موتور قوانین logprof را در رابطه با پیشنهادهای الگوسازی (globbing) که به کاربر پیشنهاد میشود فراهم میکند.
قالب هر خط به این صورت است: -- "<perl glob> = <apparmor glob>".
هنگامی که aa-logprof(1) درباره یک مسیر مشخص سوال میکند، اگر الگوی perl با مسیر مطابقت داشته باشد، آن بخش از مسیر را که مطابقت داشته با الگوی مربوطه در apparmor جایگزین کرده و آن را به فهرست پیشنهادهای الگوسازی اضافه میکند.
خطوطی که با # شروع میشوند، توضیح (کامنت) هستند و نادیده گرفته میشوند.
مثال (EXAMPLE)
[qualifiers] # things will very likely be painfully broken if bash has it's own profile /bin/bash = iu # mount doesn't work if it's confined /bin/mount = u # these helper utilities should inherit the parent profile and # shouldn't have their own profiles /bin/awk = i /bin/grep = i /bin/sed = i [defaulthat] /usr/sbin/sshd = EXEC /usr/sbin/httpd2 = DEFAULT_URI /usr/sbin/httpd2-prefork = DEFAULT_URI [globs] # /foo/bar/lib/libbaz.so -> /foo/bar/lib/lib* /lib/lib[^\/]+so[^\/]*$ = /lib/lib*so* # strip kernel version numbers from kernel module accesses ^/lib/modules/[^\/]+\/ = /lib/modules/*/ # strip pid numbers from /proc accesses ^/proc/\d+/ = /proc/*/
گزارش باگها (BUGS)
اگر اشکالی پیدا کردید، لطفاً آن را در https://gitlab.com/apparmor/apparmor/-/issues گزارش دهید.
همچنین ببینید (SEE ALSO)
apparmor(7)، apparmor.d(5)، aa-enforce(1)، aa-complain(1)، aa-disable(1)، aa_change_hat(2)، aa-logprof(1)، aa-genprof(1)، و https://wiki.apparmor.net.
| 2026-03-10 | AppArmor 4.1.7 |