cups-files.conf(5) OpenPrinting cups-files.conf(5) نام (NAME) cups-files.conf - فایل پیکربندی فایل‌ها و دایرکتوری‌ها برای cups توضیحات (DESCRIPTION) فایل cups-files.conf فایل‌ها و دایرکتوری‌های مورد استفاده زمان‌بند CUPS، cupsd(8)، را پیکربندی می‌کند. این فایل معمولاً در دایرکتوری /etc/cups قرار دارد. هر خط در این فایل می‌تواند یک دستورالعمل پیکربندی، یک خط خالی یا یک توضیح (کامنت) باشد. دستورالعمل‌های پیکربندی معمولاً شامل یک نام و صفر یا چند مقدار هستند که با نویسه فاصله از هم جدا شده‌اند. نام و مقادیر دستورالعمل‌های پیکربندی به حروف بزرگ و کوچک حساس نیستند. خطوط توضیحات با نویسه # آغاز می‌شوند. دستورالعمل‌ها (DIRECTIVES) دستورالعمل‌های زیر توسط cupsd(8) پشتیبانی می‌شوند: AccessLog AccessLog filename AccessLog stderr AccessLog syslog نام فایل گزارش دسترسی را مشخص می‌کند. تعیین یک نام فایل خالی، تولید گزارش دسترسی را غیرفعال می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث می‌شود ورودی‌های گزارش به دیمن لاگ سیستم ارسال گردند. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال: AccessLog /var/log/cups/%s-access_log مقدار پیش‌فرض "/var/log/cups/access_log" است. CacheDir directory دایرکتوری مورد استفاده برای فایل‌های موقت طولانی‌مدت (حافظه موقت/کَش) را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/var/spool/cups/cache" یا "/var/cache/cups" است. ConfigFilePerm mode مجوزهای دسترسی را برای تمام فایل‌های پیکربندی که توسط زمان‌بند نوشته می‌شوند تعیین می‌کند. مقدار پیش‌فرض در macOS برابر با "0644" و در تمام سیستم‌عامل‌های دیگر "0640" است. نکته: مجوزهای فایل printers.conf در حال حاضر ماسک شده‌اند تا فقط دسترسی کاربر زمان‌بند (معمولاً root) مجاز باشد. این کار به این دلیل انجام می‌شود که شناسه منابع یکنواخت (URI) دستگاه چاپگر گاهی حاوی اطلاعات احراز هویت حساسی است که نباید به‌طور عمومی در سیستم افشا شود. هیچ راهی برای غیرفعال کردن این ویژگی امنیتی وجود ندارد. CreateSelfSignedCerts yes CreateSelfSignedCerts no مشخص می‌کند که آیا زمان‌بند به‌طور خودکار گواهی‌های خودامضاشده را برای اتصال‌های کلاینت با استفاده از TLS ایجاد کند یا خیر. مقدار پیش‌فرض yes است. DataDir path دایرکتوری محل قرارگیری فایل‌های داده را مشخص می‌کند. مقدار پیش‌فرض معمولاً "/usr/share/cups" است. DocumentRoot directory دایرکتوری ریشه را برای محتوای رابط وب CUPS مشخص می‌کند. مقدار پیش‌فرض معمولاً "/usr/share/doc/cups" است. ErrorLog ErrorLog filename ErrorLog stderr ErrorLog syslog نام فایل گزارش خطا را مشخص می‌کند. تعیین یک نام فایل خالی، تولید گزارش خطا را غیرفعال می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث ارسال ورودی‌های گزارش به دیمن لاگ سیستم می‌شود. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال: ErrorLog /var/log/cups/%s-error_log مقدار پیش‌فرض "/var/log/cups/error_log" است. FatalErrors none FatalErrors all -kind [ ... -kind ] FatalErrors kind [ ... kind ] مشخص می‌کند کدام خطاها مهلک بوده و موجب خروج زمان‌بند می‌شوند. مقدار پیش‌فرض "config" است. رشته‌های kind عبارتند از: none هیچ خطایی مهلک نیست. all تمام خطاهای زیر مهلک هستند. browse خطاهای راه‌اندازی مرور و هم‌رسانی مهلک هستند؛ برای مثال عدم موفقیت در اتصال به دیمن DNS-SD. config خطاهای نحوی فایل پیکربندی مهلک هستند. listen خطاهای گوش دادن (Listen) یا درگاه (Port) مهلک هستند؛ به‌جز خطاهای IPv6 روی آدرس لوپ‌بک یا آدرس‌های "any". log خطاهای ایجاد یا نوشتن در فایل گزارش مهلک هستند. permissions مجوزهای نادرست فایل‌های راه‌اندازی مهلک هستند؛ برای مثال فایل‌های کلید و گواهی مشترک TLS با مجوزهای خواندن همگانی. Group group-name-or-number نام یا شناسه گروهی را تعیین می‌کند که هنگام اجرای برنامه‌های خارجی استفاده خواهد شد. گروه پیش‌فرض مختص سیستم‌عامل است، اما معمولاً "lp" یا "nobody" است. LogFileGroup group-name-or-number نام یا شناسه گروهی را تعیین می‌کند که برای فایل‌های گزارش استفاده خواهد شد. گروه پیش‌فرض مختص سیستم‌عامل است، اما معمولاً "lp" یا "nobody" است. LogFilePerm mode مجوزهای تمام فایل‌های گزارشی را که زمان‌بند می‌نویسد مشخص می‌کند. مقدار پیش‌فرض "0644" است. PageLog [ filename ] PageLog stderr PageLog syslog نام فایل گزارش صفحات را مشخص می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث ارسال ورودی‌های گزارش به دیمن لاگ سیستم می‌شود. تعیین یک نام فایل خالی، تولید گزارش صفحات را غیرفعال می‌سازد. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال: PageLog /var/log/cups/%s-page_log مقدار پیش‌فرض "/var/log/cups/page_log" است. PassEnv variable [ ... variable ] متغیر(های) محیطی مشخص‌شده را به فرآیندهای فرزند ارسال می‌کند. نکته: متغیرهای محیطی استاندارد فیلتر و بک‌اند CUPS را نمی‌توان با استفاده از این دستورالعمل بازنویسی کرد. PeerCred off PeerCred on PeerCred root-only مشخص می‌کند که آیا از اعتبارنامه‌های همتا (peer credentials) برای احراز هویت هنگام برقراری ارتباط از طریق سوکت دامنه یونیکس استفاده شود یا خیر. هنگامی که روی on تنظیم شود، اعتبارنامه‌های همتای هر کاربری برای احراز هویت پذیرفته می‌شود. مقدار off استفاده از اعتبارنامه‌های همتا را به‌طور کامل غیرفعال می‌کند، در حالی که مقدار root-only اعتبارنامه‌های همتا را فقط برای کاربر root مجاز می‌داند. نکته: به دلایل امنیتی، مقدار on برای احراز هویت درخواست‌های PUT به root-only تقلیل می‌یابد. RemoteRoot username نام کاربری مرتبط با دسترسی‌های احراز هویت‌نشده توسط کلاینت‌هایی که ادعا می‌کنند کاربر root هستند را مشخص می‌کند. مقدار پیش‌فرض "remroot" است. RequestRoot directory دایرکتوری حاوی کارهای چاپ و سایر داده‌های درخواست HTTP را مشخص می‌کند. مقدار پیش‌فرض "/var/spool/cups" است. Sandboxing relaxed Sandboxing strict سطح محدودسازی امنیتی (sandboxing) اعمال‌شده روی فیلترهای چاپ، بک‌اندها و سایر فرآیندهای فرزند زمان‌بند را تعیین می‌کند. مقدار پیش‌فرض "strict" است. این دستورالعمل در حال حاضر فقط در macOS استفاده و پشتیبانی می‌شود. ServerBin directory دایرکتوری حاوی بک‌اندها، برنامه‌های CGI، فیلترها، برنامه‌های کمکی، اعلان‌کننده‌ها و مانیتورهای پورت را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/usr/lib/cups" یا "/usr/libexec/cups" است. ServerKeychain path محل قرارگیری گواهی‌های TLS و کلیدهای خصوصی را مشخص می‌کند. مقدار پیش‌فرض در macOS برابر با "/Library/Keychains/System.keychain" و در تمام سیستم‌عامل‌های دیگر "/etc/cups/ssl" است. سیستم‌عامل macOS از پایگاه‌داده زنجیره کلید خود برای ذخیره گواهی‌ها و کلیدها استفاده می‌کند، در حالی که سایر پلتفرم‌ها از فایل‌های جداگانه در دایرکتوری مشخص‌شده استفاده می‌کنند؛ *.crt برای گواهی‌های با کدگذاری PEM و *.key برای کلیدهای خصوصی با کدگذاری PEM. ServerRoot directory دایرکتوری حاوی فایل‌های پیکربندی سرور را مشخص می‌کند. مقدار پیش‌فرض "/etc/cups" است. SetEnv variable value متغیر محیطی مشخص‌شده را برای ارسال به فرآیندهای فرزند تنظیم می‌کند. نکته: متغیرهای محیطی استاندارد فیلتر و بک‌اند CUPS را نمی‌توان با استفاده از این دستورالعمل بازنویسی کرد. StateDir directory دایرکتوری مورد استفاده برای فایل‌های PID و فایل‌های گواهی محلی را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/var/run/cups" یا "/etc/cups" است. StripUserDomain Yes StripUserDomain No مشخص می‌کند که آیا در هنگام احراز هویت کاربر محلی، نام دامنه از نام کاربری حذف شود یا خیر (مانند تبدیل "user@example.com" به "user"). این رویه می‌تواند برای حفظ سازگاری با نسخه‌های قدیمی‌تر Kerberos مفید باشد. با این حال، فعال کردن این گزینه می‌تواند پیامدهای منفی به همراه داشته باشد. این کار ممکن است باعث سردرگمی بین کاربران دامنه و کاربران محلی با نام‌های یکسان شود، و به‌طور بالقوه منجر به تخصیص نادرست دسترسی‌های کاربر و افزایش ناخواسته سطح دسترسی (privilege escalation) گردد که یک ریسک امنیتی ایجاد می‌کند. بنابراین توصیه می‌شود در بیشتر موارد از استفاده از این گزینه خودداری شود. SyncOnClose Yes SyncOnClose No مشخص می‌کند که آیا زمان‌بند پس از نوشتن فایل‌های پیکربندی یا وضعیت، فراخوانی fsync(2) را انجام دهد یا خیر. SystemGroup group-name [ ... group-name ] گروه(هایی) را که برای احراز هویت گروهی @SYSTEM استفاده می‌شوند مشخص می‌کند. مقدار پیش‌فرض شامل "admin"، "lpadmin"، "root"، "sys" و/یا "system" است. TempDir directory دایرکتوری محل ذخیره فایل‌های موقت کوتاه‌مدت را مشخص می‌کند. مقدار پیش‌فرض "/var/spool/cups/tmp" است. User username نام کاربری یا شناسه‌ای را که هنگام اجرای برنامه‌های خارجی استفاده می‌شود مشخص می‌کند. مقدار پیش‌فرض "lp" است. دستورالعمل‌های منسوخ‌شده (DEPRECATED DIRECTIVES) دستورالعمل‌های زیر منسوخ شده‌اند و در نسخه‌های آینده CUPS حذف خواهند شد: FileDevice Yes FileDevice No مشخص می‌کند که آیا شبه‌دستگاه پرونده (file pseudo-device) می‌تواند برای صف‌های چاپگر جدید استفاده شود یا خیر. شناسه URI با عنوان "file:///dev/null" همواره مجاز است. دستگاه‌های فایلی را نمی‌توان با صف‌های چاپ خام ("raw") استفاده کرد - یک فایل PPD مورد نیاز است. فایل مشخص‌شده برای هر کار چاپ رونویسی می‌شود. نوشتن در دایرکتوری‌ها پشتیبانی نمی‌شود. Printcap filename فایلی را مشخص می‌کند که با فهرستی از صف‌های چاپ محلی پر می‌شود. PrintcapFormat bsd PrintcapFormat plist PrintcapFormat solaris قالب مورد استفاده برای فایل Printcap را مشخص می‌کند. مقدار "bsd" قالب تاریخی فایل printcap در LPD است. مقدار "plist" قالب فایل plist متعلق به Apple است. مقدار "solaris" قالب تاریخی فایل printcap در Solaris LPD است. نکات (NOTES) زمان‌بند باید پس از اعمال تغییرات در فایل cups-files.conf به‌صورت دستی راه‌اندازی مجدد شود. در لینوکس این کار معمولاً با استفاده از دستور systemctl(8) انجام می‌شود، در حالی که در macOS دستور launchctl(8) به کار می‌رود. همچنین ببینید (SEE ALSO) classes.conf(5), cups(1), cupsd(8), cupsd.conf(5), mime.convs(5), mime.types(5), printers.conf(5), subscriptions.conf(5), راهنمای آنلاین CUPS (http://localhost:631/help) حق نشر (COPYRIGHT) Copyright © 2020-2025 by OpenPrinting. 2025-10-08 CUPS cups-files.conf(5)