cupsd.conf(5) OpenPrinting cupsd.conf(5)
نام (NAME)
cupsd.conf - فایل اصلی پیکربندی سرور چاپ CUPS
توضیحات (DESCRIPTION)
فایل cupsd.conf زمانبند CUPS، یعنی cupsd(8)، را پیکربندی میکند. این
فایل معمولاً در دایرکتوری /etc/cups قرار دارد. هر خط در این فایل
میتواند یک دستورالعمل پیکربندی، یک خط خالی یا یک توضیح (کامنت) باشد.
دستورالعملهای پیکربندی معمولاً شامل یک نام و صفر یا چند مقدار هستند که
با نویسه فاصله از هم جدا شدهاند. نام و مقادیر دستورالعملهای پیکربندی
به حروف بزرگ و کوچک حساس نیستند. خطوط توضیحات با نویسه # آغاز میشوند.
دستورالعملهای سطح بالا (TOP-LEVEL DIRECTIVES)
دستورالعملهای سطح بالای زیر توسط cupsd(8) شناخته و پشتیبانی میشوند:
AccessLogLevel config
AccessLogLevel actions
AccessLogLevel all
سطح گزارشگیری را برای فایل AccessLog مشخص میکند. سطح "config"
زمان افزودن، حذف یا تغییر چاپگرها و کلاسها و زمان دسترسی یا
بهروزرسانی فایلهای پیکربندی را ثبت میکند. سطح "actions" زمان
ارسال، نگهداشتن، آزادسازی، تغییر یا لغو کارهای چاپ و هر یک از
شرایط "config" را ثبت میکند. سطح "all" تمامی درخواستها را ثبت
میکند. سطح پیشفرض گزارش دسترسی "actions" است.
AutoPurgeJobs Yes
AutoPurgeJobs No
مشخص میکند که آیا دادههای تاریخچه کارها در صورتی که دیگر برای
سهمیهبندیها لازم نباشند، بهطور خودکار پاکسازی شوند یا خیر. مقدار
پیشفرض "No" است.
BrowseDNSSDSubTypes_subtype[,...]
فهرستی از زیرنوعهای Bonjour را برای اعلان به ازای هر چاپگر به
اشتراک گذاشته شده مشخص میکند. به عنوان مثال، "BrowseDNSSDSubTypes
_cups,_print" به کلاینتهای شبکه اعلام میکند که هم اشتراکگذاری CUPS
و هم IPP Everywhere پشتیبانی میشوند. مقدار پیشفرض "_cups" است که
برای کارکرد اشتراکگذاری چاپگر میان سیستمهای استفادهکننده از CUPS
ضروری است.
BrowseLocalProtocols all
BrowseLocalProtocols dnssd
BrowseLocalProtocols none
پروتکلهای مورد استفاده برای اشتراکگذاری محلی چاپگر را مشخص میکند.
مقدار پیشفرض در سیستمهایی که از Bonjour پشتیبانی میکنند "dnssd" و
در غیر این صورت "none" است.
BrowseWebIF Yes
BrowseWebIF No
مشخص میکند که آیا رابط وب CUPS اعلان (تبلیغ) شود یا خیر. مقدار
پیشفرض "No" است.
Browsing Yes
Browsing No
مشخص میکند که آیا چاپگرهای به اشتراک گذاشته شده اعلان شوند یا خیر.
مقدار پیشفرض "No" است.
DefaultAuthType Basic
نوع پیشفرض احراز هویت مورد استفاده را مشخص میکند. مقدار پیشفرض
"Basic" است.
DefaultEncryption Never
DefaultEncryption IfRequested
DefaultEncryption Required
مشخص میکند که آیا برای درخواستهای احراز هویتشده از رمزنگاری
استفاده شود یا خیر. مقدار پیشفرض "Required" است.
DefaultLanguage locale
زبان پیشفرض مورد استفاده برای متن و محتوای وب را مشخص میکند.
مقدار پیشفرض "en" است.
DefaultPaperSize Auto
DefaultPaperSize None
DefaultPaperSize sizename
اندازه پیشفرض کاغذ را برای صفهای چاپ جدید مشخص میکند. مقدار "Auto"
از پیشفرض وابسته به محلیسازی (locale) استفاده میکند، در حالی که
"None" مشخص میکند هیچ اندازه کاغذی به صورت پیشفرض وجود ندارد.
نامهای اندازههای خاص معمولاً "Letter" یا "A4" هستند. مقدار پیشفرض
"Auto" است.
نکته: اندازه پیشفرض کاغذ باید از نام اندازه موجود در فایل PPD استفاده
کند و نه از نام اندازه رسانه خودتوصیفگر PWG.
DefaultPolicy policy-name
سیاست دسترسی پیشفرض را برای استفاده مشخص میکند. سیاست دسترسی
پیشفرض "default" است.
DefaultShared Yes
DefaultShared No
مشخص میکند که آیا چاپگرهای محلی بهطور پیشفرض به اشتراک گذاشته شوند
یا خیر. مقدار پیشفرض "Yes" است.
DirtyCleanInterval seconds
میزان تاخیر برای بهروزرسانی فایلهای پیکربندی و وضعیت را مشخص
میکند. مقدار 0 باعث میشود بهروزرسانی در سریعترین زمان ممکن،
معمولاً ظرف چند میلیثانیه رخ دهد. مقدار پیشفرض "30" ثانیه است.
DNSSDHostNamehostname.example.com
نام دامنه کاملاً واجد شرایط (FQDN) را برای سروری که برای
اشتراکگذاری Bonjour استفاده میشود مشخص میکند. مقدار پیشفرض معمولاً
نام میزبان ".local" سرور است.
ErrorPolicy abort-job
مشخص میکند که یک کار چاپ ناموفق باید لغو (دور انداخته) شود، مگر
اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
ErrorPolicy retry-current-job
مشخص میکند که یک کار چاپ ناموفق باید بلافاصله دوباره تلاش شود، مگر
اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
ErrorPolicy retry-job
مشخص میکند که یک کار چاپ ناموفق باید در زمان دیگری دوباره تلاش
شود، مگر اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
ErrorPolicy stop-printer
مشخص میکند که یک کار چاپ ناموفق باید چاپگر را متوقف کند، مگر اینکه
برای چاپگر به نحو دیگری مشخص شده باشد. سیاست خطای 'stop-printer'
پیشفرض است.
FilterLimit limit
حداکثر هزینه فیلترهایی را که به طور همزمان اجرا میشوند مشخص میکند،
که میتواند برای به حداقل رساندن مشکلات دیسک، حافظه و منابع
پردازنده (CPU) استفاده شود. حد 0 محدودسازی فیلتر را غیرفعال
میکند. یک چاپ معمولی در یک چاپگر غیر PostScript به محدودیت فیلتری
در حدود 200 نیاز دارد. یک چاپگر PostScript به حدود نیمی از آن
(100) نیاز دارد. تنظیم حد پایینتر از این آستانهها عملاً زمانبند را
به چاپ تنها یک کار در هر زمان محدود میکند. حد پیشفرض "0" است.
FilterNice nice-value
اولویت زمانبندی (مقدار nice(8)) فیلترهایی را که برای چاپ یک کار
اجرا میشوند، مشخص میکند. مقدار nice از 0 (بالاترین اولویت) تا 19
(پایینترین اولویت) متغیر است. مقدار پیشفرض 0 است.
HostNameLookups On
HostNameLookups Off
HostNameLookups Double
مشخص میکند که آیا جستجوی معکوس روی کلاینتهای متصلشونده انجام شود
یا خیر. تنظیم "Double" موجب میشود cupsd(8) بررسی کند که نام
میزبان بهدستآمده از نشانی، با یکی از نشانیهای بازگرداندهشده برای
آن نام میزبان مطابقت داشته باشد. جستجوهای دوگانه همچنین از اتصال
کلاینتهایی با نشانیهای ثبتنشده به سرور شما جلوگیری میکنند. مقدار
پیشفرض "Off" است تا از مشکلات بالقوه عملکرد سرور ناشی از جستجوهای
نام میزبان جلوگیری شود. این گزینه را فقط در صورت نیاز قطعی روی
"On" یا "Double" تنظیم کنید.
IdleExitTimeout seconds
مدت زمانی را که قبل از خاموش شدن به دلیل عدم فعالیت باید منتظر
ماند مشخص میکند. مقدار پیشفرض "60" ثانیه است.
نکته: فقط زمانی کاربرد دارد که cupsd(8) به صورت درخواستی (به عنوان مثال
با -l) اجرا شده باشد.
JobKillDelay seconds
تعداد ثانیههایی را مشخص میکند که قبل از متوقف کردن اجباری فیلترها
و بکاند مرتبط با یک کار لغوشده یا نگهداشتهشده باید منتظر ماند.
مقدار پیشفرض "300" است.
JobRetryInterval seconds
فاصله زمانی بین تلاشهای مجدد کارها را بر حسب ثانیه مشخص میکند.
این مورد معمولاً برای صفهای فکس استفاده میشود، اما میتواند با صفهای
چاپ معمولی که سیاست خطای آنها "retry-job" است نیز استفاده شود.
مقدار پیشفرض "300" است.
JobRetryLimit count
تعداد دفعات تلاش مجدد انجامشده برای کارها را مشخص میکند. این مورد
معمولاً برای صفهای فکس استفاده میشود، اما میتواند با صفهای چاپ
معمولی که سیاست خطای آنها "retry-job" است نیز به کار رود. مقدار
پیشفرض "5" است.
KeepAlive Yes
KeepAlive No
مشخص میکند که آیا از اتصالات زنده نگهداشتن (keep-alive) در HTTP
پشتیبانی شود یا خیر. مقدار پیشفرض "Yes" است.
...
عملیات IPP را که در داخل یک بخش Policy محدود میشوند مشخص میکند.
نامهای عملیات IPP در ادامه در بخش "نامهای عملیات IPP (IPP
OPERATION NAMES)" فهرست شدهاند.
...
...
متدهای HTTP را که در داخل یک بخش Location محدود میشوند مشخص میکند.
نامهای متدهای HTTP در ادامه در بخش "نامهای متد HTTP (HTTP METHOD
NAMES)" فهرست شدهاند.
LimitRequestBody size
حداکثر اندازه فایلهای چاپ، درخواستهای IPP و دادههای فرم HTML را
مشخص میکند. مقدار پیشفرض "0" است که بررسی محدودیت را غیرفعال
میکند.
Listen ipv4-address:port
Listen [ipv6-address]:port
Listen *:port
Listen /path/to/domain/socket
برای برقراری اتصالات، به آدرس و پورت مشخصشده یا مسیر سوکت دامنه
گوش میدهد. چندین دستورالعمل Listen را میتوان برای گوش دادن به
چندین آدرس ارائه داد. دستورالعمل Listen مشابه دستورالعمل Port
است، اما به شما امکان میدهد دسترسی را به رابطها یا شبکههای خاص
محدود کنید.
نکته: عبارتهای "Listen *:port" و "Port port" عملاً روی تمام آدرسهای IP
گوش میدهند، بنابراین نمیتوانید آنها را با دستورالعملهای Listen برای
آدرسهای صریح IPv4 یا IPv6 روی همان پورت ترکیب کنید.
...
کنترل دسترسی را برای مکان نامبرده مشخص میکند. مسیرها در ادامه در
بخش "مسیرهای مکان (LOCATION PATHS)" مستند شدهاند.
LogDebugHistory number
تعداد پیامهای اشکالزدایی را که در صورت بروز خطا در یک کار چاپ برای
ثبت در گزارش نگهداری میشوند، مشخص میکند. پیامهای اشکالزدایی بدون
در نظر گرفتن تنظیمات LogLevel ثبت میشوند.
LogLevel none
LogLevel emerg
LogLevel alert
LogLevel crit
LogLevel error
LogLevel warn
LogLevel notice
LogLevel info
LogLevel debug
LogLevel debug2
سطح گزارشگیری را برای فایل ErrorLog مشخص میکند. مقدار "none" تمام
گزارشگیریها را متوقف میکند، در حالی که "debug2" همه چیز را ثبت
مینماید. مقدار پیشفرض "warn" است.
LogTimeFormat standard
LogTimeFormat usecs
قالب تاریخ و زمان را در فایلهای گزارش مشخص میکند. مقدار
"standard" پیشفرض است و ثانیههای کامل را ثبت میکند، در حالی که
"usecs" میکروثانیهها را ثبت مینماید.
MaxClients number
حداکثر تعداد کلاینتهای همزمان را که توسط زمانبند مجاز شمرده میشوند
مشخص میکند. مقدار پیشفرض "100" است.
MaxClientsPerHost number
حداکثر تعداد کلاینتهای همزمان مجاز از یک آدرس واحد را مشخص میکند.
مقدار پیشفرض برابر با مقدار MaxClients است.
MaxCopies number
حداکثر تعداد رونوشتهایی را که یک کاربر میتواند از هر کار چاپ کند
مشخص میکند. مقدار پیشفرض "9999" است.
MaxHoldTime seconds
حداکثر زمانی را که یک کار میتواند در وضعیت نگهداری "نامحدود"
(indefinite) باقی بماند تا پیش از اینکه لغو شود مشخص میکند. مقدار
پیشفرض "0" است که لغو خودکار کارهای نگهداشتهشده را غیرفعال میکند.
MaxJobs number
حداکثر تعداد کارهای همزمان مجاز را مشخص میکند. برای مجاز بودن
تعداد نامحدود کارها، آن را روی "0" قرار دهید. مقدار پیشفرض "500"
است.
MaxJobsPerPrinter number
حداکثر تعداد کارهای همزمان مجاز به ازای هر چاپگر را مشخص میکند.
مقدار پیشفرض "0" است که تا سقف MaxJobs کار را به ازای هر چاپگر
مجاز میداند.
MaxJobsPerUser number
حداکثر تعداد کارهای همزمان مجاز به ازای هر کاربر را مشخص میکند.
مقدار پیشفرض "0" است که تا سقف MaxJobs کار را به ازای هر کاربر
مجاز میشمارد.
MaxJobTime seconds
حداکثر زمانی را که یک کار میتواند برای چاپ صرف کند، قبل از اینکه
لغو شود مشخص میکند. برای غیرفعال کردن لغو کارهای «گیرکرده»، مقدار
آن را روی "0" قرار دهید. مقدار پیشفرض "10800" (۳ ساعت) است.
MaxLogSize size
حداکثر اندازه فایلهای گزارش را قبل از چرخش (دوران) آنها مشخص
میکند. مقدار "0" چرخش فایلهای لاگ را غیرفعال میکند. مقدار پیشفرض
"1048576" (۱ مگابایت) است.
MaxSubscriptions number
حداکثر تعداد اشتراکهای رویداد همزمان مجاز را مشخص میکند. برای
مجاز بودن تعداد نامحدود اشتراکها، مقدار را روی "0" قرار دهید.
مقدار پیشفرض "100" است.
MaxSubscriptionsPerJob number
حداکثر تعداد اشتراکهای رویداد همزمان مجاز به ازای هر کار را مشخص
میکند. مقدار پیشفرض "0" است که تا سقف MaxSubscriptions اشتراک را
برای هر کار مجاز میشمارد.
MaxSubscriptionsPerPrinter number
حداکثر تعداد اشتراکهای رویداد همزمان مجاز به ازای هر چاپگر را مشخص
میکند. مقدار پیشفرض "0" است که تا سقف MaxSubscriptions اشتراک را
به ازای هر چاپگر مجاز میداند.
MaxSubscriptionsPerUser number
حداکثر تعداد اشتراکهای رویداد همزمان مجاز به ازای هر کاربر را مشخص
میکند. مقدار پیشفرض "0" است که تا سقف MaxSubscriptions اشتراک را
برای هر کاربر مجاز میشمارد.
MultipleOperationTimeout seconds
حداکثر زمان مجاز بین فایلها در یک کار چاپ چندفایلی را مشخص میکند.
مقدار پیشفرض "900" (۱۵ دقیقه) است.
...
کنترل دسترسی را برای سیاست نامبرده مشخص میکند.
Port number
برای برقراری اتصالات، به شماره پورت مشخصشده گوش میدهد.
PreserveJobFiles Yes
PreserveJobFiles No
PreserveJobFiles seconds
مشخص میکند که آیا فایلهای کار (اسناد) پس از چاپ یک کار نگهداری
شوند یا خیر. اگر یک مقدار عددی مشخص شود، فایلهای کار برای تعداد
ثانیههای تعیینشده پس از چاپ حفظ میشوند. مقدار پیشفرض "86400"
(نگهداری به مدت ۱ روز) است.
PreserveJobHistory Yes
PreserveJobHistory No
PreserveJobHistory seconds
مشخص میکند که آیا تاریخچه کار پس از چاپ شدن یک کار نگهداری شود یا
خیر. اگر یک مقدار عددی تعیین شود، تاریخچه کار برای تعداد ثانیههای
مشخصشده پس از چاپ نگهداری میشود. اگر "Yes" باشد، تاریخچه کار تا
زمانی که به حد MaxJobs برسد نگهداری میشود. مقدار پیشفرض "Yes"
است.
ReadyPaperSizes sizename[,...]
فهرستی از اندازههای احتمالی کاغذ را که به عنوان «آماده»
(بارگذاریشده) گزارش میشوند، مشخص میکند. فهرست واقعی تنها شامل
اندازههایی خواهد بود که هر چاپگر از آنها پشتیبانی میکند. مقدار
پیشفرض در زمانی که اندازه کاغذ پیشفرض "Letter" باشد برابر با
"Letter,Legal,Tabloid,4x6,Env10" و در غیر این صورت
"A3,A4,A5,A6,EnvDL" است.
نکته: اندازههای کاغذ باید از نامهای اندازه موجود در فایل PPD استفاده
کنند و نه نامهای رسانه خودتوصیفگر PWG.
ReloadTimeout seconds
مدت زمانی را که باید قبل از راهاندازی مجدد زمانبند برای تکمیل کار
منتظر ماند مشخص میکند. مقدار پیشفرض "30" است.
ServerAdmin email-address
آدرس ایمیل مدیر سرور را مشخص میکند. مقدار پیشفرض
"root@ServerName" است.
ServerAlias hostname [ ... hostname ]
ServerAlias *
دستورالعمل ServerAlias برای اعتبارسنجی هدر Host در HTTP هنگام
اتصال کلاینتها از رابطهای خارجی به زمانبند استفاده میشود. استفاده
از نام ویژه "*" میتواند سیستم شما را در معرض حملات شناختهشدهٔ
بازپیوند DNS (DNS rebinding attacks) مبتنی بر مرورگر قرار دهد، حتی
زمانی که دسترسی به سایتها از طریق فایروال انجام شود. اگر کشف
خودکار نامهای جایگزین کار نمیکند، توصیه میکنیم به جای استفاده از
"*"، هر نام جایگزین را با یک دستورالعمل ServerAlias جداگانه فهرست
کنید.
ServerName hostname
نام میزبان کاملاً واجد شرایط (FQDN) سرور را مشخص میکند. مقدار
پیشفرض، مقداری است که توسط دستور hostname(1) گزارش شده است.
ServerTokens None
ServerTokens ProductOnly
ServerTokens Major
ServerTokens Minor
ServerTokens Minimal
ServerTokens OS
ServerTokens Full
مشخص میکند چه اطلاعاتی در هدر Server پاسخهای HTTP گنجانده شود.
مقدار "None" هدر Server را غیرفعال میکند. مقدار "ProductOnly"
عبارت "CUPS" را گزارش میدهد. مقدار "Major" عبارت "CUPS/major
IPP/2" را گزارش میدهد. مقدار "Minor" عبارت "CUPS/major.minor
IPP/2.1" را گزارش میدهد. مقدار "Minimal" عبارت
"CUPS/major.minor.patch IPP/2.1" را گزارش میدهد. مقدار "OS" عبارت
"CUPS/major.minor.path (osname osversion) IPP/2.1" را گزارش میدهد.
مقدار "Full" عبارت "CUPS/major.minor.path (osname osversion;
architecture) IPP/2.1" را گزارش میدهد. مقدار پیشفرض "Minimal"
است.
SSLListen ipv4-address:port
SSLListen [ipv6-address]:port
SSLListen *:port
برای برقراری اتصالات رمزگذاریشده به آدرس و پورت مشخصشده گوش میدهد.
SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0]
[MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1]
[MinTLS1.2] [MinTLS1.3] [NoSystem]
SSLOptions None
گزینههای رمزنگاری را تنظیم میکند (فقط در /etc/cups/client.conf).
بهطور پیشفرض، CUPS فقط از رمزنگاری با استفاده از TLS نسخه 1.0 یا
بالاتر با مجموعههای رمزنگاری امنِ شناختهشده پشتیبانی میکند. هنگام
استفاده از گزینههای Allow امنیت کاهش مییابد. هنگام استفاده از
گزینههای Deny امنیت افزایش مییابد. گزینه AllowDH مجموعههای
رمزنگاری استفادهکننده از تبادل کلید ساده دیفی-هلمن را فعال میکند
(در سیستمهای مبتنی بر GNU TLS پشتیبانی نمیشود). گزینه AllowRC4
مجموعههای رمزنگاری ۱۲۸ بیتی RC4 را فعال میکند که برای برخی
کلاینتهای قدیمیتر مورد نیاز است. گزینه AllowSSL3 نسخه SSL 3.0 را
فعال میکند که برای برخی کلاینتهای قدیمیتر که از TLS 1.0 پشتیبانی
نمیکنند لازم است. گزینه DenyCBC تمام مجموعههای رمزنگاری CBC را
غیرفعال میکند. گزینه DenyTLS1.0 پشتیبانی از TLS 1.0 را غیرفعال
میکند - این کار حداقل نسخه پروتکل را روی TLS 1.1 تنظیم مینماید.
گزینههای MinTLS حداقل نسخه TLS مورد پشتیبانی را تعیین میکنند.
گزینههای MaxTLS حداکثر نسخه TLS مورد پشتیبانی را تعیین میکنند.
گزینه NoSystem اعمال سیاستهای رمزنگاری سیستمی را غیرفعال میکند.
در حال حاضر همه سیستمعاملها از TLS 1.3 پشتیبانی نمیکنند.
SSLPort port
برای برقراری اتصالات رمزگذاریشده به پورت مشخصشده گوش میدهد.
StrictConformance Yes
StrictConformance No
مشخص میکند که آیا زمانبند کلاینتها را ملزم به پیروی دقیق از مشخصات
IPP میکند یا خیر. مقدار پیشفرض "No" است.
Timeout seconds
مهلت زمانی (timeout) درخواست HTTP را مشخص میکند. مقدار پیشفرض
"900" (۱۵ دقیقه) است.
WebInterface yes
WebInterface no
مشخص میکند که آیا رابط وب فعال باشد یا خیر. مقدار پیشفرض "No"
است.
نامهای متد HTTP (HTTP METHOD NAMES)
متدهای HTTP زیر توسط cupsd(8) پشتیبانی میشوند:
GET توسط یک کلاینت برای بارگیری آیکونها و سایر منابع چاپگر و دسترسی به
رابط وب CUPS استفاده میشود.
HEAD توسط یک کلاینت برای دریافت نوع، اندازه و تاریخ تغییر منابع استفاده
میشود.
OPTIONS
توسط یک کلاینت برای برقراری یک اتصال امن (SSL/TLS) استفاده میشود.
POST توسط یک کلاینت برای ارسال درخواستهای IPP و فرمهای HTML از طریق
رابط وب CUPS استفاده میشود.
PUT توسط یک کلاینت برای بارگذاری فایلهای پیکربندی استفاده میشود.
نامهای عملیات IPP (IPP OPERATION NAMES)
عملیات IPP زیر توسط cupsd(8) پشتیبانی میشوند:
CUPS-Accept-Jobs
به یک چاپگر اجازه میدهد کارهای جدید را بپذیرد.
CUPS-Add-Modify-Class
یک کلاس چاپگر را اضافه میکند یا تغییر میدهد.
CUPS-Add-Modify-Printer
یک چاپگر را اضافه میکند یا تغییر میدهد.
CUPS-Authenticate-Job
کاری را که برای احراز هویت نگهداشته شده است آزاد میکند.
CUPS-Delete-Class
یک کلاس چاپگر را حذف میکند.
CUPS-Delete-Printer
یک چاپگر را حذف میکند.
CUPS-Get-Classes
فهرستی از کلاسهای چاپگر را دریافت میکند.
CUPS-Get-Default
چاپگر یا کلاس چاپگر پیشفرض سرور را دریافت میکند.
CUPS-Get-Devices
فهرستی از دستگاههایی که در حال حاضر در دسترس هستند را دریافت
میکند.
CUPS-Get-Document
یک فایل سند را برای یک کار دریافت میکند.
CUPS-Get-PPD
یک فایل PPD را دریافت میکند.
CUPS-Get-PPDs
فهرستی از فایلهای PPD نصبشده را دریافت میکند.
CUPS-Get-Printers
فهرستی از چاپگرها را دریافت میکند.
CUPS-Move-Job
یک کار را جابهجا میکند.
CUPS-Reject-Jobs
از پذیرش کارهای جدید توسط یک چاپگر جلوگیری میکند.
CUPS-Set-Default
چاپگر یا کلاس چاپگر پیشفرض سرور را تنظیم میکند.
Cancel-Job
یک کار را لغو میکند.
Cancel-Jobs
یک یا چند کار را لغو میکند.
Cancel-My-Jobs
یک یا چند کار ایجادشده توسط یک کاربر را لغو میکند.
Cancel-Subscription
یک اشتراک را لغو میکند.
Close-Job
کاری را که در انتظار اسناد بیشتر است میبندد.
Create-Job
یک کار جدید بدون سند ایجاد میکند.
Create-Job-Subscriptions
یک اشتراک برای رویدادهای کار ایجاد میکند.
Create-Printer-Subscriptions
یک اشتراک برای رویدادهای چاپگر ایجاد میکند.
Get-Job-Attributes
اطلاعات مربوط به یک کار را دریافت میکند.
Get-Jobs
فهرستی از کارها را دریافت میکند.
Get-Notifications
فهرستی از اعلانهای رویداد را برای یک اشتراک دریافت میکند.
Get-Printer-Attributes
اطلاعات مربوط به یک چاپگر یا کلاس چاپگر را دریافت میکند.
Get-Subscription-Attributes
اطلاعات مربوط به یک اشتراک را دریافت میکند.
Get-Subscriptions
فهرستی از اشتراکها را دریافت میکند.
Hold-Job
از چاپ شدن یک کار جلوگیری میکند (آن را به حالت تعلیق درمیآورد).
Hold-New-Jobs
از چاپ شدن تمام کارهای جدید جلوگیری میکند.
Pause-Printer
پردازش کارها توسط یک چاپگر یا کلاس چاپگر را متوقف میکند.
Pause-Printer-After-Current-Job
پردازش کارها توسط یک چاپگر یا کلاس چاپگر را پس از پایان کار فعلی
متوقف میکند.
Print-Job
یک کار جدید با یک سند واحد ایجاد میکند.
Purge-Jobs
یک یا چند کار را لغو کرده و تاریخچه کار را پاک میکند.
Release-Held-New-Jobs
به کارهایی که قبلاً معلق شده بودند اجازه چاپ میدهد.
Release-Job
به یک کار اجازه چاپ میدهد.
Renew-Subscription
یک اشتراک را تمدید میکند.
Restart-Job
در صورت امکان، یک کار را مجدداً چاپ میکند.
Send-Document
یک سند را به یک کار اضافه میکند.
Set-Job-Attributes
اطلاعات کار را تغییر میدهد.
Set-Printer-Attributes
اطلاعات چاپگر یا کلاس چاپگر را تغییر میدهد.
Validate-Job
گزینهها را برای یک کار جدید اعتبارسنجی میکند.
مسیرهای مکان (LOCATION PATHS)
مسیرهای زیر معمولاً هنگام پیکربندی cupsd(8) استفاده میشوند:
/ مسیر برای تمام عملیات دریافت (get-printers، get-jobs و غیره)
/admin
مسیر برای تمام عملیات مدیریتی (add-printer، delete-printer، start-
printer و غیره)
/admin/conf
مسیر برای دسترسی به فایلهای پیکربندی CUPS (cupsd.conf، client.conf
و غیره)
/admin/log
مسیر برای دسترسی به فایلهای گزارش CUPS (access_log، error_log،
page_log)
/classes
مسیر برای تمام کلاسهای چاپگر
/classes/name
منبع مربوط به کلاس چاپگر نامبرده
/jobs
مسیر برای تمام کارها (hold-job، release-job و غیره)
/jobs/id
مسیر مربوط به کار مشخصشده
/printers
مسیر برای تمام چاپگرها
/printers/name
مسیر مربوط به چاپگر نامبرده
/printers/name.png
مسیر فایل آیکون برای چاپگر نامبرده
/printers/name.ppd
مسیر فایل PPD برای چاپگر نامبرده
دستورالعملهای معتبر در بخشهای LOCATION و LIMIT (DIRECTIVES VALID WITHIN
LOCATION AND LIMIT SECTIONS)
دستورالعملهای زیر ممکن است در بخشهای Location و Limit در فایل
cupsd.conf قرار گیرند:
Allow all
Allow none
Allow host.domain.com
Allow *.domain.com
Allow ipv4-address
Allow ipv4-address/netmask
Allow ipv4-address/mm
Allow [ipv6-address]
Allow [ipv6-address]/mm
Allow @IF(name)
Allow @LOCAL
دسترسی از میزبانها، دامنهها، آدرسها یا رابطهای نامبرده را مجاز
میکند. قالب @IF(name) از زیرشبکههای فعلی پیکربندیشده برای رابط
نامبرده استفاده میکند. قالب @LOCAL از زیرشبکههای فعلی پیکربندیشده
برای تمام رابطهایی که نقطه-به-نقطه (point-to-point) نیستند استفاده
میکند؛ برای مثال رابطهای اترنت و وایفای استفاده میشوند اما رابطهای
DSL و VPN استفاده نمیشوند. دستورالعمل Order کنترل میکند که آیا
خطوط Allow قبل از خطوط Deny ارزیابی شوند یا بعد از آنها.
AuthType None
AuthType Basic
AuthType Default
نوع احراز هویت مورد نیاز را مشخص میکند. مقدار "Default" با مقدار
DefaultAuthType مطابقت دارد.
Deny all
Deny none
Deny host.domain.com
Deny *.domain.com
Deny ipv4-address
Deny ipv4-address/netmask
Deny ipv4-address/mm
Deny [ipv6-address]
Deny [ipv6-address]/mm
Deny @IF(name)
Deny @LOCAL
دسترسی از میزبانها، دامنهها، آدرسها یا رابطهای نامبرده را رد
میکند. قالب @IF(name) از زیرشبکههای فعلی پیکربندیشده برای رابط
نامبرده استفاده میکند. قالب @LOCAL از زیرشبکههای فعلی پیکربندیشده
برای تمام رابطهایی که نقطه-به-نقطه (point-to-point) نیستند استفاده
میکند؛ برای مثال رابطهای اترنت و وایفای استفاده میشوند اما رابطهای
DSL و VPN استفاده نمیشوند. دستورالعمل Order کنترل میکند که آیا
خطوط Deny قبل از خطوط Allow ارزیابی شوند یا بعد از آنها.
Encryption IfRequested
Encryption Never
Encryption Required
سطح رمزنگاری مورد نیاز برای یک مکان خاص را مشخص میکند. مقدار
پیشفرض "IfRequested" است.
Order allow,deny
مشخص میکند که دسترسی بهطور پیشفرض رد شده است. سپس خطوط Allow و به
دنبال آن خطوط Deny پردازش میشوند تا مشخص شود آیا یک کلاینت میتواند
به یک منبع خاص دسترسی داشته باشد یا خیر.
Order deny,allow
مشخص میکند که دسترسی بهطور پیشفرض مجاز است. سپس خطوط Deny و به
دنبال آن خطوط Allow پردازش میشوند تا مشخص شود آیا یک کلاینت
میتواند به یک منبع خاص دسترسی داشته باشد یا خیر.
Require group group-name [ group-name ... ]
مشخص میکند که یک کاربر احراز هویتشده باید عضو یکی از گروههای
نامبرده باشد.
Require user {user-name|@group-name} ...
مشخص میکند که یک کاربر احراز هویتشده باید با یکی از کاربران
نامبرده مطابقت داشته باشد یا عضو یکی از گروههای نامبرده باشد. نام
گروه "@SYSTEM" متناظر با فهرست گروههای تعریفشده توسط دستورالعمل
SystemGroup در فایل cups-files.conf(5) است. نام گروه "@OWNER"
متناظر با مالک منبع است، به عنوان مثال فردی که کار چاپ را ارسال
کرده است.
نکته: کاربر 'root' ویژگی خاصی ندارد و مانند هر حساب کاربری دیگری باید
به آن امتیازات اعطا شود.
Require valid-user
مشخص میکند که هر کاربر احراز هویتشدهای پذیرفته میشود.
Satisfy all
مشخص میکند که تمام شرایط Allow، AuthType، Deny، Order و Require
باید برای اجازه دسترسی برآورده شوند.
Satisfy any
مشخص میکند در صورتی که هر یک از شرایط احراز هویت
(AuthType/Require) یا آدرس (Allow/Deny/Order) برآورده شود، یک
کلاینت میتواند به یک منبع دسترسی یابد. به عنوان مثال، میتوان از
این گزینه برای الزامی کردن احراز هویت تنها برای دسترسیهای از راه
دور استفاده کرد.
دستورالعملهای معتبر در بخشهای POLICY (DIRECTIVES VALID WITHIN POLICY
SECTIONS)
دستورالعملهای زیر ممکن است در بخشهای Policy در فایل cupsd.conf قرار
گیرند:
JobPrivateAccess all
JobPrivateAccess default
JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
یک فهرست دسترسی برای مقادیر خصوصی یک کار مشخص میکند. فهرست دسترسی
پیشفرض ("default") برابر با "@OWNER @SYSTEM" است. مقدار "@ACL" با
مقادیر requesting-user-name-allowed یا requesting-user-name-denied
چاپگر نگاشت میشود. مقدار "@OWNER" با مالک کار نگاشت میشود. مقدار
"@SYSTEM" با گروههای فهرستشده برای دستورالعمل SystemGroup در فایل
cups-files.conf(5) نگاشت میشود.
JobPrivateValues all
JobPrivateValues default
JobPrivateValues none
JobPrivateValues attribute-name [ ... attribute-name ]
فهرست مقادیر کار را برای خصوصی کردن مشخص میکند. مقادیر پیشفرض
("default") عبارتند از "job-name"، "job-originating-host-name"،
"job-originating-user-name" و "phone".
SubscriptionPrivateAccess all
SubscriptionPrivateAccess default
SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
یک فهرست دسترسی برای مقادیر خصوصی یک اشتراک مشخص میکند. فهرست
دسترسی پیشفرض ("default") برابر با "@OWNER @SYSTEM" است. مقدار
"@ACL" با مقادیر requesting-user-name-allowed یا requesting-user-
name-denied چاپگر نگاشت میشود. مقدار "@OWNER" با مالک کار نگاشت
میشود. مقدار "@SYSTEM" با گروههای فهرستشده برای دستورالعمل
SystemGroup در فایل cups-files.conf(5) نگاشت میشود.
SubscriptionPrivateValues all
SubscriptionPrivateValues default
SubscriptionPrivateValues none
SubscriptionPrivateValues attribute-name [ ... attribute-name ]
فهرست مقادیر اشتراک را برای خصوصی کردن مشخص میکند. مقادیر پیشفرض
("default") عبارتند از "notify-events"، "notify-pull-method"،
"notify-recipient-uri"، "notify-subscriber-user-name" و "notify-
user-data".
دستورالعملهای منسوخشده (DEPRECATED DIRECTIVES)
دستورالعملهای زیر منسوخ شدهاند و در نسخههای آینده CUPS حذف خواهند شد:
AuthType Negotiate
مشخص میکند که احراز هویت کربروس (Kerberos) مورد نیاز است.
Classification banner
طبقهبندی امنیتی سرور را مشخص میکند. هر نام بنر معتبری میتواند
استفاده شود، از جمله "classified"، "confidential"، "secret"،
"topsecret" و "unclassified"، یا بنر میتواند حذف شود تا عملکردهای
چاپ امن غیرفعال گردند. پیشفرض، نداشتن بنر طبقهبندی است.
ClassifyOverride Yes
ClassifyOverride No
مشخص میکند که آیا کاربران میتوانند طبقهبندی (صفحه پوششی) کارهای
چاپ منفرد را با استفاده از گزینه "job-sheets" لغو کنند یا خیر.
مقدار پیشفرض "No" است.
DefaultAuthType Negotiate
مشخص میکند که احراز هویت کربروس بهطور پیشفرض مورد نیاز است.
GSSServiceName name
نام سرویس را هنگام استفاده از احراز هویت کربروس مشخص میکند. نام
سرویس پیشفرض "http." است.
PageLogFormat format-string
قالب خطوط PageLog را مشخص میکند. دنبالههایی که با نویسه درصد (%)
آغاز میشوند با اطلاعات متناظر جایگزین میگردند، در حالی که تمام
نویسههای دیگر عیناً کپی میشوند. دنبالههای درصد زیر شناخته میشوند:
"%%" یک نویسه درصد منفرد درج میکند.
"%{name}" مقدار صفت مشخصشدهٔ IPP را درج میکند.
"%C" تعداد رونوشتها را برای صفحه جاری درج میکند.
"%P" شماره صفحه جاری را درج میکند.
"%T" تاریخ و زمان جاری را در قالب گزارش مشترک درج میکند.
"%j" شناسه کار (job ID) را درج میکند.
"%p" نام چاپگر را درج میکند.
"%u" نام کاربری را درج میکند.
مقدار پیشفرض رشته خالی است که ثبت گزارش صفحه را غیرفعال میکند.
رشته "%p %u %j %T %P %C %{job-billing} %{job-originating-host-
name} %{job-name} %{media} %{sides}" یک گزارش صفحه با موارد
استاندارد ایجاد میکند. از "%{job-impressions-completed}" برای درج
تعداد صفحات (روها) چاپشده، یا از "%{job-media-sheets-completed}"
برای درج تعداد برگههای چاپشده استفاده کنید.
نکات (NOTES)
دستورالعملهای پیکربندی فایل، دایرکتوری و کاربر که قبلاً در فایل
cupsd.conf مجاز بودند، اکنون به منظور جلوگیری از انواع خاصی از حملات
افزایش سطح دسترسی (privilege escalation)، در فایل cups-files.conf(5)
ذخیره میشوند.
زمانبند باید پس از اعمال تغییرات در فایل cupsd.conf بهصورت دستی
راهاندازی مجدد شود. در لینوکس این کار معمولاً با استفاده از دستور
systemctl(8) انجام میشود، در حالی که در macOS دستور launchctl(8) به کار
میرود.
نام ماکروی @LOCAL میتواند گیجکننده باشد زیرا سیستمی که cupsd را اجرا
میکند اغلب به مجموعهای از زیرشبکهها متفاوت از کلاینتهایش تعلق دارد.
سازگاری با استانداردها (CONFORMING TO)
قالب فایل cupsd.conf بر اساس قالب فایل پیکربندی سرور وب آپاچی (Apache
HTTP Server) است.
مثالها (EXAMPLES)
ثبت گزارش همهچیز با حداکثر اندازه فایل گزارش ۳۲ مگابایت:
AccessLogLevel all
LogLevel debug2
MaxLogSize 32m
الزام احراز هویت برای دسترسیها از خارج شبکه .10:
Order allow,deny
Allow from 10./8
AuthType Basic
Require valid-user
Satisfy any
همچنین ببینید (SEE ALSO)
classes.conf(5), cups-files.conf(5), cupsd(8), mime.convs(5),
mime.types(5), printers.conf(5), subscriptions.conf(5), راهنمای آنلاین
CUPS (http://localhost:631/help)
حق نشر (COPYRIGHT)
Copyright © 2020-2025 by OpenPrinting.
2025-03-12 CUPS cupsd.conf(5)