| 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.
| CUPS | 2025-10-08 |