cups-files.conf(5) OpenPrinting cups-files.conf(5)

cups-files.conf - فایل پیکربندی فایل‌ها و دایرکتوری‌ها برای cups

فایل cups-files.conf فایل‌ها و دایرکتوری‌های مورد استفاده زمان‌بند CUPS، cupsd(8)، را پیکربندی می‌کند. این فایل معمولاً در دایرکتوری /etc/cups قرار دارد.

هر خط در این فایل می‌تواند یک دستورالعمل پیکربندی، یک خط خالی یا یک توضیح (کامنت) باشد. دستورالعمل‌های پیکربندی معمولاً شامل یک نام و صفر یا چند مقدار هستند که با نویسه فاصله از هم جدا شده‌اند. نام و مقادیر دستورالعمل‌های پیکربندی به حروف بزرگ و کوچک حساس نیستند. خطوط توضیحات با نویسه # آغاز می‌شوند.

دستورالعمل‌های زیر توسط cupsd(8) پشتیبانی می‌شوند:

نام فایل گزارش دسترسی را مشخص می‌کند. تعیین یک نام فایل خالی، تولید گزارش دسترسی را غیرفعال می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث می‌شود ورودی‌های گزارش به دیمن لاگ سیستم ارسال گردند. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال:
AccessLog /var/log/cups/%s-access_log
مقدار پیش‌فرض "/var/log/cups/access_log" است.
دایرکتوری مورد استفاده برای فایل‌های موقت طولانی‌مدت (حافظه موقت/کَش) را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/var/spool/cups/cache" یا "/var/cache/cups" است.
مجوزهای دسترسی را برای تمام فایل‌های پیکربندی که توسط زمان‌بند نوشته می‌شوند تعیین می‌کند. مقدار پیش‌فرض در macOS برابر با "0644" و در تمام سیستم‌عامل‌های دیگر "0640" است.

نکته: مجوزهای فایل printers.conf در حال حاضر ماسک شده‌اند تا فقط دسترسی کاربر زمان‌بند (معمولاً root) مجاز باشد. این کار به این دلیل انجام می‌شود که شناسه منابع یکنواخت (URI) دستگاه چاپگر گاهی حاوی اطلاعات احراز هویت حساسی است که نباید به‌طور عمومی در سیستم افشا شود. هیچ راهی برای غیرفعال کردن این ویژگی امنیتی وجود ندارد.

مشخص می‌کند که آیا زمان‌بند به‌طور خودکار گواهی‌های خودامضاشده را برای اتصال‌های کلاینت با استفاده از TLS ایجاد کند یا خیر. مقدار پیش‌فرض yes است.
دایرکتوری محل قرارگیری فایل‌های داده را مشخص می‌کند. مقدار پیش‌فرض معمولاً "/usr/share/cups" است.
دایرکتوری ریشه را برای محتوای رابط وب CUPS مشخص می‌کند. مقدار پیش‌فرض معمولاً "/usr/share/doc/cups" است.
نام فایل گزارش خطا را مشخص می‌کند. تعیین یک نام فایل خالی، تولید گزارش خطا را غیرفعال می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث ارسال ورودی‌های گزارش به دیمن لاگ سیستم می‌شود. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال:
ErrorLog /var/log/cups/%s-error_log
مقدار پیش‌فرض "/var/log/cups/error_log" است.
مشخص می‌کند کدام خطاها مهلک بوده و موجب خروج زمان‌بند می‌شوند. مقدار پیش‌فرض "config" است. رشته‌های kind عبارتند از:
هیچ خطایی مهلک نیست.
تمام خطاهای زیر مهلک هستند.
خطاهای راه‌اندازی مرور و هم‌رسانی مهلک هستند؛ برای مثال عدم موفقیت در اتصال به دیمن DNS-SD.
خطاهای نحوی فایل پیکربندی مهلک هستند.
خطاهای گوش دادن (Listen) یا درگاه (Port) مهلک هستند؛ به‌جز خطاهای IPv6 روی آدرس لوپ‌بک یا آدرس‌های "any".
خطاهای ایجاد یا نوشتن در فایل گزارش مهلک هستند.
مجوزهای نادرست فایل‌های راه‌اندازی مهلک هستند؛ برای مثال فایل‌های کلید و گواهی مشترک TLS با مجوزهای خواندن همگانی.
نام یا شناسه گروهی را تعیین می‌کند که هنگام اجرای برنامه‌های خارجی استفاده خواهد شد. گروه پیش‌فرض مختص سیستم‌عامل است، اما معمولاً "lp" یا "nobody" است.

نام یا شناسه گروهی را تعیین می‌کند که برای فایل‌های گزارش استفاده خواهد شد. گروه پیش‌فرض مختص سیستم‌عامل است، اما معمولاً "lp" یا "nobody" است.
مجوزهای تمام فایل‌های گزارشی را که زمان‌بند می‌نویسد مشخص می‌کند. مقدار پیش‌فرض "0644" است.
نام فایل گزارش صفحات را مشخص می‌کند. مقدار "stderr" موجب می‌شود ورودی‌های گزارش در صورت اجرای زمان‌بند در پیش‌زمینه به فایل خطای استاندارد و در صورت اجرا در پس‌زمینه به دیمن لاگ سیستم ارسال شوند. مقدار "syslog" باعث ارسال ورودی‌های گزارش به دیمن لاگ سیستم می‌شود. تعیین یک نام فایل خالی، تولید گزارش صفحات را غیرفعال می‌سازد. نام سرور را می‌توان با استفاده از رشته "%s" در نام فایل‌ها گنجاند؛ به عنوان مثال:
PageLog /var/log/cups/%s-page_log
مقدار پیش‌فرض "/var/log/cups/page_log" است.
متغیر(های) محیطی مشخص‌شده را به فرآیندهای فرزند ارسال می‌کند. نکته: متغیرهای محیطی استاندارد فیلتر و بک‌اند CUPS را نمی‌توان با استفاده از این دستورالعمل بازنویسی کرد.
مشخص می‌کند که آیا از اعتبارنامه‌های همتا (peer credentials) برای احراز هویت هنگام برقراری ارتباط از طریق سوکت دامنه یونیکس استفاده شود یا خیر. هنگامی که روی on تنظیم شود، اعتبارنامه‌های همتای هر کاربری برای احراز هویت پذیرفته می‌شود. مقدار off استفاده از اعتبارنامه‌های همتا را به‌طور کامل غیرفعال می‌کند، در حالی که مقدار root-only اعتبارنامه‌های همتا را فقط برای کاربر root مجاز می‌داند. نکته: به دلایل امنیتی، مقدار on برای احراز هویت درخواست‌های PUT به root-only تقلیل می‌یابد.
نام کاربری مرتبط با دسترسی‌های احراز هویت‌نشده توسط کلاینت‌هایی که ادعا می‌کنند کاربر root هستند را مشخص می‌کند. مقدار پیش‌فرض "remroot" است.
دایرکتوری حاوی کارهای چاپ و سایر داده‌های درخواست HTTP را مشخص می‌کند. مقدار پیش‌فرض "/var/spool/cups" است.
سطح محدودسازی امنیتی (sandboxing) اعمال‌شده روی فیلترهای چاپ، بک‌اندها و سایر فرآیندهای فرزند زمان‌بند را تعیین می‌کند. مقدار پیش‌فرض "strict" است. این دستورالعمل در حال حاضر فقط در macOS استفاده و پشتیبانی می‌شود.
دایرکتوری حاوی بک‌اندها، برنامه‌های CGI، فیلترها، برنامه‌های کمکی، اعلان‌کننده‌ها و مانیتورهای پورت را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/usr/lib/cups" یا "/usr/libexec/cups" است.
محل قرارگیری گواهی‌های TLS و کلیدهای خصوصی را مشخص می‌کند. مقدار پیش‌فرض در macOS برابر با "/Library/Keychains/System.keychain" و در تمام سیستم‌عامل‌های دیگر "/etc/cups/ssl" است. سیستم‌عامل macOS از پایگاه‌داده زنجیره کلید خود برای ذخیره گواهی‌ها و کلیدها استفاده می‌کند، در حالی که سایر پلتفرم‌ها از فایل‌های جداگانه در دایرکتوری مشخص‌شده استفاده می‌کنند؛ *.crt برای گواهی‌های با کدگذاری PEM و *.key برای کلیدهای خصوصی با کدگذاری PEM.
دایرکتوری حاوی فایل‌های پیکربندی سرور را مشخص می‌کند. مقدار پیش‌فرض "/etc/cups" است.
متغیر محیطی مشخص‌شده را برای ارسال به فرآیندهای فرزند تنظیم می‌کند. نکته: متغیرهای محیطی استاندارد فیلتر و بک‌اند CUPS را نمی‌توان با استفاده از این دستورالعمل بازنویسی کرد.
دایرکتوری مورد استفاده برای فایل‌های PID و فایل‌های گواهی محلی را مشخص می‌کند. مقدار پیش‌فرض بسته به پلتفرم "/var/run/cups" یا "/etc/cups" است.
مشخص می‌کند که آیا در هنگام احراز هویت کاربر محلی، نام دامنه از نام کاربری حذف شود یا خیر (مانند تبدیل "user@example.com" به "user"). این رویه می‌تواند برای حفظ سازگاری با نسخه‌های قدیمی‌تر Kerberos مفید باشد. با این حال، فعال کردن این گزینه می‌تواند پیامدهای منفی به همراه داشته باشد. این کار ممکن است باعث سردرگمی بین کاربران دامنه و کاربران محلی با نام‌های یکسان شود، و به‌طور بالقوه منجر به تخصیص نادرست دسترسی‌های کاربر و افزایش ناخواسته سطح دسترسی (privilege escalation) گردد که یک ریسک امنیتی ایجاد می‌کند. بنابراین توصیه می‌شود در بیشتر موارد از استفاده از این گزینه خودداری شود.
مشخص می‌کند که آیا زمان‌بند پس از نوشتن فایل‌های پیکربندی یا وضعیت، فراخوانی fsync(2) را انجام دهد یا خیر.
گروه(هایی) را که برای احراز هویت گروهی @SYSTEM استفاده می‌شوند مشخص می‌کند. مقدار پیش‌فرض شامل "admin"، "lpadmin"، "root"، "sys" و/یا "system" است.
دایرکتوری محل ذخیره فایل‌های موقت کوتاه‌مدت را مشخص می‌کند. مقدار پیش‌فرض "/var/spool/cups/tmp" است.
نام کاربری یا شناسه‌ای را که هنگام اجرای برنامه‌های خارجی استفاده می‌شود مشخص می‌کند. مقدار پیش‌فرض "lp" است.

دستورالعمل‌های زیر منسوخ شده‌اند و در نسخه‌های آینده CUPS حذف خواهند شد:

مشخص می‌کند که آیا شبه‌دستگاه پرونده (file pseudo-device) می‌تواند برای صف‌های چاپگر جدید استفاده شود یا خیر. شناسه URI با عنوان "file:///dev/null" همواره مجاز است. دستگاه‌های فایلی را نمی‌توان با صف‌های چاپ خام ("raw") استفاده کرد - یک فایل PPD مورد نیاز است. فایل مشخص‌شده برای هر کار چاپ رونویسی می‌شود. نوشتن در دایرکتوری‌ها پشتیبانی نمی‌شود.
فایلی را مشخص می‌کند که با فهرستی از صف‌های چاپ محلی پر می‌شود.
قالب مورد استفاده برای فایل Printcap را مشخص می‌کند. مقدار "bsd" قالب تاریخی فایل printcap در LPD است. مقدار "plist" قالب فایل plist متعلق به Apple است. مقدار "solaris" قالب تاریخی فایل printcap در Solaris LPD است.

زمان‌بند باید پس از اعمال تغییرات در فایل cups-files.conf به‌صورت دستی راه‌اندازی مجدد شود. در لینوکس این کار معمولاً با استفاده از دستور systemctl(8) انجام می‌شود، در حالی که در macOS دستور launchctl(8) به کار می‌رود.

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 © 2020-2025 by OpenPrinting.

CUPS 2025-10-08