.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "AA-LOGPROF 8" .TH AA-LOGPROF 8 2026-03-10 "AppArmor 4.1.7" AppArmor .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" aa\-logprof \- ابزاری برای به‌روزرسانی پروفایل‌های امنیتی AppArmor .SH "خلاصه دستور (SYNOPSIS)" .IX Header "خلاصه دستور (SYNOPSIS)" \&\fBaa\-logprof [\fR\f(BI\-d /path/to/profiles\fR\fB] [\fR\f(BI\-f /path/to/logfile\fR\fB] [\fR\f(BI\-m \fR\fB]\fR .SH "گزینه‌ها (OPTIONS)" .IX Header "گزینه‌ها (OPTIONS)" \&\fB\-d \-\-dir /path/to/profiles\fR .PP .Vb 2 \& مشخص می‌کند مجموعه پروفایل‌های امنیتی AppArmor در کجا جستجو شوند. \& پیش‌فرض /etc/apparmor.d است. .Ve .PP \&\fB\-f \-\-file /path/to/logfile\fR .PP .Vb 6 \& مکان فایل گزارش (logfile) حاوی رویدادهای امنیتی AppArmor را مشخص می‌کند. \& مکان‌های پیش‌فرض از /etc/apparmor/logprof.conf خوانده می‌شوند. \& پیش‌فرض‌های معمول عبارتند از: \& /var/log/audit/audit.log \& /var/log/syslog \& /var/log/messages .Ve .PP \&\fB \-m \-\-logmark "mark"\fR .PP .Vb 3 \& دستور aa\-logprof تمامی رویدادهای موجود در گزارش سیستم را قبل از \& مشاهده نشان (mark) مشخص‌شده نادیده می‌گیرد. اگر نشان حاوی فاصله \& باشد، برای کارکرد درست باید درون گیومه قرار گیرد. .Ve .SH "توضیحات (DESCRIPTION)" .IX Header "توضیحات (DESCRIPTION)" دستور \&\fBaa\-logprof\fR یک ابزار تعاملی است که برای بررسی پیام‌های تولیدشده توسط AppArmor و به‌روزرسانی پروفایل‌های امنیتی AppArmor استفاده می‌شود. .PP اجرای aa\-logprof فایل گزارش را پویش می‌کند و اگر رویدادهای جدید AppArmor وجود داشته باشند که توسط مجموعه پروفایل‌های موجود پوشش داده نشده‌اند، تغییرات پیشنهادی برای گسترش و تکمیل پروفایل به کاربر نمایش داده می‌شود. .PP هنگامی که aa\-logprof خارج می‌شود، تغییرات پروفایل روی دیسک ذخیره می‌شوند. اگر AppArmor در حال اجرا باشد، پروفایل‌های به‌روزرسانی‌شده دوباره بارگذاری می‌شوند و اگر هر فرآیندی که رویدادهای AppArmor تولید کرده همچنان در null\-complain\-profile در حال اجرا باشد، آن فرآیندها طوری تنظیم می‌شوند که تحت پروفایل‌های مناسب خود اجرا شوند. .SS "پاسخ به رویدادهای AppArmor (Responding to AppArmor Events)" .IX Subsection "پاسخ به رویدادهای AppArmor (Responding to AppArmor Events)" دستور \&\fBaa\-logprof\fR فهرستی از تغییرات پیشنهادی پروفایل را تولید می‌کند که کاربر می‌تواند از بین آن‌ها انتخاب کند، یا تغییرات دلخواه خود را بسازد، تا مجموعه مجوزهای پروفایل را طوری تغییر دهد که نقض دسترسی ایجادشده مجدداً رخ ندهد. .PP سپس اطلاعاتی درباره دسترسی شامل پروفایل، مسیر، حالت قبلی در صورتی که ورودی پیشینی برای این مسیر در پروفایل وجود داشته باشد، حالت جدید، فهرست پیشنهادات و گزینه‌های زیر به کاربر نمایش داده می‌شود: .PP .Vb 1 \& (A)llow, (D)eny, (I)gnore, (N)ew, (G)lob last piece, (Q)uit .Ve .PP اگر پروفایل AppArmor در هنگام ایجاد رویداد در حالت شکایت (complain mode) بوده باشد، گزینه پیش‌فرض برای این مورد (A)llow است، در غیر این صورت (D)eny خواهد بود. .PP گزینه (D)eny یک قاعده «رد» (deny) به پروفایل AppArmor اضافه می‌کند که ثبت گزارش را بی‌صدا می‌کند. .PP گزینه (I)gnore به کاربر اجازه می‌دهد رویداد را بدون اعمال هیچ تغییری در پروفایل AppArmor نادیده بگیرد. .PP فهرست پیشنهادات به‌صورت یک فهرست شماره‌گذاری‌شده با includeها در بالا، مسیر دقیق در وسط و الگوهای تطبیق (glob) پیشنهادی در پایین ارائه می‌شود. اگر الگوی تطبیقی پیشنهاد شود، کوتاه‌ترین الگو گزینه انتخاب‌شده است؛ در غیر این صورت، مسیر دقیق انتخاب می‌شود. انتخاب includeها از فهرست باید به‌صورت دستی انجام گیرد. .PP فشردن یک کلید عددی، گزینه انتخاب‌شده را به ورودی شماره‌گذاری‌شده متناظر در فهرست تغییر می‌دهد. .PP اگر کاربر گزینه (N)ew را انتخاب کند، از او خواسته می‌شود الگوی تطبیق دلخواه خود را برای مطابقت با مسیر وارد کند. اگر الگوی واردشده با مسیر این رویداد مطابقت نداشته باشد، به کاربر اطلاع داده شده و امکان اصلاح آن را خواهد داشت. .PP اگر کاربر گزینه (G)lob last piece را انتخاب کند، aa\-logprof با در نظر گرفتن گزینه انتخاب‌شده فعلی، آخرین بخش مسیر را حذف کرده و آن را با /* جایگزین می‌کند. .PP اگر آخرین بخش مسیر از قبل /* بوده باشد، aa\-logprof یک سطح دایرکتوری به بالا می‌رود و آن را با /** جایگزین می‌کند. .PP این ورودی الگوی جدید سپس به فهرست پیشنهادات اضافه شده و به‌عنوان گزینه انتخاب‌شده تعیین می‌شود. .PP بنابراین مسیر /usr/share/themes/foo/bar/baz.gif را می‌توان با سه بار فشردن کلید "g" به /usr/share/themes/** تبدیل کرد. .PP اگر کاربر گزینه (A)llow را انتخاب کند، aa\-logprof انتخاب فعلی را به پروفایل اضافه کرده و سایر ورودی‌های موجود در پروفایل را که با ورودی جدید هم‌پوشانی و مطابقت دارند حذف می‌کند. .PP افزودن دسترسی r به /usr/share/themes/** در صورت وجود ورودی دسترسی r به /usr/share/themes/foo/*.gif در پروفایل، آن را حذف خواهد کرد. .PP اگر در این مرحله (Q)uit انتخاب شود، aa\-logprof تمامی دسترسی‌های جدید در انتظار را نادیده می‌گیرد. .PP پس از رسیدگی به تمامی دسترسی‌ها، aa\-logprof تمام پروفایل‌های به‌روزرسانی‌شده را روی دیسک می‌نویسد و در صورت در حال اجرا بودن AppArmor، آن‌ها را دوباره بارگذاری می‌کند. .SS "رویدادهای فرآیند جدید (اجرا) (New Process (Execution) Events)" .IX Subsection "رویدادهای فرآیند جدید (اجرا) (New Process (Execution) Events)" اگر دسترسی‌های x رسیدگی‌نشده‌ای ناشی از فراخوانی \&\fBexecve\fR\|(2) یک فرآیند جدید رخ دهد، aa\-logprof پروفایل والد و برنامه هدف در حال اجرا را نمایش داده و از کاربر می‌خواهد یک تغییردهنده اجرا را انتخاب کند. این تغییردهنده‌ها امکان انتخاب گزینه‌های زیر را برای هدف فراهم می‌کنند: داشتن پروفایل اختصاصی خود (px)، به ارث بردن پروفایل والد (ix)، اجرا بدون محدودیت (ux)، یا رد دسترسی برای هدف. برای جزئیات بیشتر به \&\fBapparmor.d\fR\|(5) مراجعه کنید. .PP اگر ورودی متناظری برای هدف در بخش qualifiers فایل /etc/apparmor/logprof.conf وجود داشته باشد، فهرست ارائه‌شده فقط شامل حالت‌های مجاز خواهد بود. .PP گزینه پیش‌فرض برای این پرسش با استفاده از منطق زیر انتخاب می‌شود: .PP .Vb 6 \& # if px mode is allowed and profile exists for the target \& # px is default. \& # else if ix mode is allowed \& # ix is default \& # else \& # deny is default .Ve .PP دستور aa\-logprof هرگز "ux" را به عنوان پیش‌فرض پیشنهاد نمی‌دهد. .SS "رویدادهای تغییر کلاه (ChangeHat Events)" .IX Subsection "رویدادهای تغییر کلاه (ChangeHat Events)" اگر رویدادهای ناشناخته \&\fBaa_change_hat\fR\|(2) یافت شوند، از کاربر خواسته می‌شود تا یک کلاه (hat) جدید اضافه کند، یا مشخص کند آیا بر اساس ورودی متناظر در بخش defaulthat فایل logprof.conf این رویدادها باید به کلاه پیش‌فرض این پروفایل منتقل شوند، یا رویدادهای بعدی که تحت آن کلاه اجرا می‌شوند به‌طور کلی رد شوند. .SS "رویدادهای قابلیت‌ها (Capability Events)" .IX Subsection "رویدادهای قابلیت‌ها (Capability Events)" اگر دسترسی‌هایی از نوع قابلیت (capability) وجود داشته باشد، هر دسترسی قابلیت به کاربر نشان داده می‌شود و از او پرسیده می‌شود که آیا قابلیت باید مجاز شود، رد شود، یا کاربر می‌خواهد خارج شود. برای جزئیات بیشتر به \&\fBcapability\fR\|(7) مراجعه کنید. .SH "گزارش باگ‌ها (BUGS)" .IX Header "گزارش باگ‌ها (BUGS)" اگر هرگونه باگی پیدا کردید، لطفاً آن را در نشانی زیر گزارش دهید: .SH "همچنین ببینید (SEE ALSO)" .IX Header "همچنین ببینید (SEE ALSO)" \&\fBklogd\fR\|(8)، \&\fBauditd\fR\|(8)، \&\fBapparmor\fR\|(7)، \&\fBapparmor.d\fR\|(5)، \&\fBaa_change_hat\fR\|(2)، \&\fBlogprof.conf\fR\|(5)، \&\fBaa\-genprof\fR\|(1)، \&\fBaa\-enforce\fR\|(1)، \&\fBaa\-complain\fR\|(1)، \&\fBaa\-disable\fR\|(1) و