'\" t .\" Title: usbguard-daemon.conf .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/05/2026 .\" Manual: \ \& .\" Source: \ \& .\" Language: Persian .\" .TH "USBGUARD\-DAEMON\&.C" "5" "09/05/2026" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" usbguard-daemon.conf \- پرونده پیکربندی دیمن USBGuard .SH "توضیحات (DESCRIPTION)" .sp پرونده \fBusbguard\-daemon\&.conf\fR پس از تجزیه گزینه‌های خط فرمان توسط دیمن USBGuard بارگذاری می‌شود\&. این پرونده برای پیکربندی پارامترهای زمان اجرای دیمن به کار می‌رود\&. مسیر جستجوی پیش‌فرض \fI/etc/usbguard/usbguard\-daemon\&.conf\fR است\&. این مسیر را می‌توان با استفاده از گزینه خط فرمان \fB\-c\fR بازنویسی کرد، برای جزئیات بیشتر به \fBusbguard\-daemon\fR(8) مراجعه کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP \fBRuleFile\fR=\fIpath\fR .RS 4 دیمن USBGuard از این پرونده برای بارگذاری مجموعه قوانین خط‌مشی و نوشتن قوانین جدید دریافت‌شده از طریق رابط IPC استفاده خواهد کرد\&. پیش‌فرض: %sysconfdir%/usbguard/rules\&.conf .RE .PP \fBRuleFolder\fR=\fIpath\fR .RS 4 دیمن USBGuard از این پوشه برای بارگذاری مجموعه قوانین خط‌مشی و نوشتن قوانین جدید دریافت‌شده از طریق رابط IPC استفاده خواهد کرد\&. معمولاً این گزینه روی /etc/usbguard/rules\&.d/ تنظیم می‌شود\&. از آنجا که دیمن USBGuard رفتاری همانند سایر دیمن‌های استاندارد لینوکس دارد، پرونده‌های قوانین را به ترتیب حروف و اعداد بارگذاری می‌کند\&. نام پرونده‌های درون دایرکتوری RuleFolder باید با یک پیشوند عددی دو رقمی آغاز شوند که ترتیب پیمایش قوانین توسط دیمن را مشخص می‌کند\&. استفاده هم‌زمان از RuleFile و RuleFolder مجاز است\&. با این حال، در صورت برقراری یکی از شرایط زیر، امکان اصلاح خط‌مشی دائمی وجود نخواهد داشت: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هیچ‌یک از گزینه‌های RuleFile یا RuleFolder مشخص نشده باشند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} گزینه RuleFile مشخص نشده باشد، و RuleFolder مشخص شده باشد اما حاوی هیچ پرونده‌ای که بتوان قوانین دائمی را در آن ذخیره کرد نباشد\&. .RE .RE .PP \fBImplicitPolicyTarget\fR=\fItarget\fR .RS 4 نحوه رفتار با دستگاه‌های USB که با هیچ قانونی در خط‌مشی مطابقت ندارند\&. مقدار هدف باید یکی از گزینه‌های allow، block یا reject (حذف منطقی گره دستگاه از سیستم) باشد\&. پیش‌فرض: block .RE .PP \fBPresentDevicePolicy\fR=\fIpolicy\fR .RS 4 نحوه رفتار با دستگاه‌های USB که هنگام شروع به کار دیمن از قبل متصل هستند\&. خط‌مشی باید یکی از گزینه‌های allow، block، reject، keep (حفظ وضعیت فعلی دستگاه) یا apply\-policy (ارزیابی مجموعه قوانین برای هر دستگاه موجود) باشد\&. پیش‌فرض: apply\-policy .RE .PP \fBPresentControllerPolicy\fR=\fIpolicy\fR .RS 4 نحوه رفتار با دستگاه‌های \fBکنترلر\fR USB که هنگام شروع به کار دیمن از قبل متصل هستند\&. یکی از گزینه‌های allow، block، reject، keep یا apply\-policy\&. پیش‌فرض: keep .RE .PP \fBInsertedDevicePolicy\fR=\fIpolicy\fR .RS 4 نحوه رفتار با دستگاه‌های USB که \fIپس از\fR شروع به کار دیمن متصل می‌شوند\&. یکی از گزینه‌های block، reject یا apply\-policy\&. پیش‌فرض: apply\-policy .RE .PP \fBAuthorizedDefault\fR=\fIauthorizedDefault\fR .RS 4 دیمن USBGuard برخی از مشخصه‌های وضعیت مجوزدهی پیش‌فرض دستگاه‌های کنترلر را تغییر می‌دهد\&. این تنظیم به شما امکان می‌دهد مشخص کنید مجوزدهی پیش‌فرض روی چه مقداری تنظیم شود\&. مقدار پیش‌فرض مجوزدهی باید یکی از گزینه‌های keep (عدم تغییر وضعیت مجوزدهی)، none (هر دستگاه جدید در ابتدا لغو مجوز می‌شود)، all (هر دستگاه جدید در ابتدا مجاز دانسته می‌شود) یا internal (دستگاه‌های داخلی مجاز شناخته می‌شوند، دستگاه‌های خارجی خیر) باشد\&. پیش‌فرض: none .RE .PP \fBRestoreControllerDeviceState\fR=\fIboolean\fR .RS 4 دیمن USBGuard برخی مشخصه‌های دستگاه‌های کنترلر مانند وضعیت مجوزدهی پیش‌فرض نمونه‌های دستگاه فرزند جدید را تغییر می‌دهد\&. با استفاده از این تنظیم، می‌توانید کنترل کنید که آیا دیمن هنگام خاموش شدن تلاش کند مقادیر مشخصه‌ها را به وضعیت پیش از تغییر بازگرداند یا خیر\&. پیش‌فرض: false .RE .PP \fBDeviceManagerBackend\fR=\fIbackend\fR .RS 4 تعیین پیاده‌سازی بک‌اند مدیریت دستگاه مورد استفاده\&. بک‌اند باید یکی از گزینه‌های uevent (پیش‌فرض) یا umockdev (مفید برای آزمایش) باشد\&. بک‌اند UEvent پیاده‌سازی مبتنی بر netlink است که از sysfs برای پویش دستگاه‌های موجود و از یک سوکت uevent برای دریافت رویدادهای مرتبط با دستگاه‌های USB استفاده می‌کند\&. مدیر دستگاه مبتنی بر UMockDev قادر است دستگاه‌ها را بر اساس پرونده‌های umockdev\-record شبیه‌سازی کند\&. پیش‌فرض: uevent .RE .PP \fBIPCAllowedUsers\fR=\fIusername\fR\ \&[\fIusername\fR\ \&\&...] .RS 4 فهرستی از نام‌های کاربری جداشده با فاصله که دیمن اتصال‌های IPC را از آن‌ها می‌پذیرد\&. پیش‌فرض: root .RE .PP \fBIPCAllowedGroups\fR=\fIgroupname\fR\ \&[\fIgroupname\fR\ \&\&...] .RS 4 فهرستی از نام‌های گروه‌ها جداشده با فاصله که دیمن اتصال‌های IPC را از آن‌ها می‌پذیرد\&. .RE .PP \fBIPCAccessControlFiles\fR=\fIpath\fR .RS 4 پرونده‌های موجود در این مسیر توسط دیمن به عنوان پرونده‌های تعریف کنترل دسترسی IPC تفسیر می‌شوند\&. برای جزئیات بیشتر به بخش کنترل دسترسی IPC (IPC ACCESS CONTROL) مراجعه کنید\&. .RE .PP \fBDeviceRulesWithPort\fR=\fIboolean\fR .RS 4 تولید قوانین ویژه دستگاه شامل مشخصه «via\-port»\&. پیش‌فرض: false .RE .PP \fBAuditBackend\fR=\fIbackend\fR .RS 4 بک‌اند ثبت رویدادهای حسابرسی (Audit) در USBGuard\&. مقدار \fIbackend\fR باید یکی از گزینه‌های FileAudit یا LinuxAudit باشد\&. پیش‌فرض: FileAudit .RE .PP \fBAuditFilePath\fR=\fIfilepath\fR .RS 4 مسیر پرونده گزارش رویدادهای حسابرسی USBGuard\&. در صورتی که AuditBackend روی FileAudit تنظیم شده باشد الزامی است\&. پیش‌فرض: %localstatedir%/log/usbguard/usbguard\-audit\&.log .RE .PP \fBHidePII\fR=\fIboolean\fR .RS 4 اطلاعات هویتی اشخاص (PII) مانند شماره سریال دستگاه و درهم‌ساز توصیف‌گرها (که شامل شماره سریال است) را از مدخل‌های حسابرسی پنهان می‌کند\&. پیش‌فرض: false .RE .SH "ملاحظات امنیتی (SECURITY CONSIDERATIONS)" .SS "IPC" .sp دیمن رابط عمومی IPC را برای USBGuard فراهم می‌کند\&. بسته به پیش‌فرض‌های توزیع شما، دسترسی به این رابط تنها به گروهی خاص یا کاربری مشخص محدود می‌شود\&. لطفاً یکی از گزینه‌های \fBIPCAllowedUsers\fR، \fBIPCAllowedGroups\fR یا \fBIPCAccessControlFiles\fR را برای محدود کردن دسترسی به رابط IPC تنظیم کنید\&. \fBفهرست کنترل دسترسی (ACL) را بدون پیکربندی رها نکنید زیرا این کار رابط IPC را در معرض دسترس تمام کاربران محلی قرار می‌دهد و به آن‌ها اجازه می‌دهد وضعیت مجوزدهی دستگاه‌های USB را دستکاری کرده و خط‌مشی USBGuard را تغییر دهند\fR\&. .SS "گزینه پیکربندی RestoreControllerDeviceState (RestoreControllerDeviceState configuration option)" .sp در صورت تنظیم روی true، خط‌مشی مجوزدهی USB می‌تواند با اجرای نوعی حمله علیه دیمن (از طریق یک اکسپلویت محلی یا از طریق یک دستگاه USB) دور زده شود تا دیمن متوقف شده و به وضعیت پیش‌فرض سیستم‌عامل (که معمولاً سهل‌گیرانه است) بازگردد\&. .SH "کنترل دسترسی IPC (IPC ACCESS CONTROL)" .sp دسترسی به رابط IPC در USBGuard را می‌توان به ازای هر کاربر یا گروه محدود کرد\&. علاوه بر این، با استفاده از پرونده‌های کنترل دسترسی IPC، می‌توان دسترسی را همان‌طور که در ادامه توضیح داده شده تا سطح بخش‌ها (Sections) و امتیازها (Privileges) محدود ساخت\&. .SS "توصیه‌شده: IPCAccessControlFiles (Recommended: IPCAccessControlFiles)" .sp هنگامی که گزینه \fBIPCAccessControlFiles\fR را تنظیم می‌کنید، دیمن پرونده‌های کنترل دسترسی IPC را در پوشه مشخص‌شده جستجو می‌کند\&. هر پرونده در این پوشه به صورت زیر پردازش می‌شود: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} نام پایه (basename) پرونده به عنوان نام کاربری، UID، نام گروه یا GID تفسیر می‌شود\&. اگر نام با : (دو نقطه) آغاز شود، فرض بر این است که باقی‌مانده نام نشان‌دهنده یک شناسه گروه (نام گروه یا GID در صورت رشته تمام‌عددی) است\&. در غیر این صورت، به عنوان شناسه کاربر (نام کاربری یا UID در صورت رشته تمام‌عددی) تفسیر می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} محتوای پرونده به صورت خطوط قالب‌بندی‌شده Section=[privilege1][,privilege2] \&.\&.\&. تجزیه می‌شود که امتیازهای بخش را مشخص می‌کنند\&. اگر بخشی حذف شود، فرض می‌شود که هیچ امتیازی برای آن بخش داده نشده است\&. .RE .sp بخش‌ها و امتیازهای در دسترس: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBDevices\fR .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} modify: تغییر وضعیت مجوزدهی دستگاه‌ها از جمله تغییرات دائمی (یعنی اصلاح قوانین ویژه دستگاه در خط‌مشی)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} list: توانایی دریافت فهرستی از دستگاه‌های شناسایی‌شده و مشخصه‌های آن‌ها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} listen: شنود رویدادهای حضور دستگاه و تغییرات خط‌مشی دستگاه\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBPolicy\fR .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} modify: افزودن قوانین به خط‌مشی یا حذف هر قانونی از آن\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} list: توانایی مشاهده خط‌مشی اعمال‌شده کنونی\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBExceptions\fR .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} listen: دریافت پیام‌های استثنا (Exceptions)\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBParameters\fR .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} modify: تنظیم مقادیر پارامترهای زمان اجرا\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} list: دریافت مقادیر پارامترهای زمان اجرا\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} listen: شنود تغییرات پارامترهای مشخصه\&. .RE .RE .sp نمونه زیر یک مثال عموماً کاربردی و با امنیت مناسب از یک پرونده کنترل دسترسی است\&. این نمونه امکان تغییر وضعیت مجوزدهی دستگاه USB (Devices=modify)، فهرست کردن دستگاه‌های USB (Devices=list)، شنود رویدادهای مرتبط با دستگاه‌های USB (Devices=listen)، فهرست کردن قوانین خط‌مشی مجوزدهی USB (Policy=list) و شنود رویدادهای استثنا (Exceptions=listen) را فراهم می‌آورد: .sp .if n \{\ .RS 4 .\} .nf Devices=modify,list,listen Policy=list Exceptions=listen .fi .if n \{\ .RE .\} .sp می‌توانید پرونده‌های کنترل دسترسی IPC را با استفاده از دستورات خط فرمان usbguard add\-user و usbguard remove\-user ایجاد یا حذف کنید\&. برای جزئیات بیشتر به usbguard(1) مراجعه کنید\&. اگر می‌خواهید پرونده‌های کنترل دسترسی IPC را به صورت دستی بسازید، باید مجوزهای پرونده‌ها را روی 0600 تنظیم کنید\&. .SS "سنتی: IPCAllowedUsers و IPCAllowedGroups (Legacy: IPCAllowedUsers and IPCAllowedGroups)" .sp نمونه پیکربندی که دسترسی کامل IPC را به کاربران \fIroot\fR و \fIjoe\fR و اعضای گروه \fIwheel\fR اعطا می‌کند: .sp .if n \{\ .RS 4 .\} .nf IPCAllowedUsers=root joe IPCAllowedGroups=wheel .fi .if n \{\ .RE .\} .SH "همچنین ببینید (SEE ALSO)" .sp usbguard\-daemon(8), usbguard\-rules\&.conf(5) .SH "اشکالات (BUGS)" .sp اگر اشکالی در این نرم‌افزار یافتید یا می‌خواهید پیاده‌سازی قابلیتی را درخواست کنید، لطفاً یک تیکت در https://github\&.com/USBGuard/usbguard/issues/new ثبت کنید\&. .SH "نویسنده (AUTHOR)" .sp نرم‌افزار USBGuard در ابتدا توسط Daniel Kopeček نوشته شده است\&. افراد بسیاری در توسعه آن مشارکت داشته‌اند\&. .SH "منابع (RESOURCES)" .sp وب‌گاه اصلی: https://usbguard\&.github\&.io .SH "کپی‌رایت و تکثیر (COPYING)" .sp مجوز GPLv2+: گنو GPL نسخه ۲ یا بالاتر http://gnu\&.org/licenses/gpl\&.html\&. این یک نرم‌افزار آزاد است: شما مجاز به تغییر و بازتوزیع آن هستید\&. تا جایی که قانون اجازه می‌دهد، هیچ ضمانتی وجود ندارد\&.