| 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" است.
- مشخص میکند که آیا چاپگرهای محلی بهطور پیشفرض به اشتراک گذاشته شوند یا خیر. مقدار پیشفرض "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" است.
- <Limit operation ...> ... </Limit>
- عملیات IPP را که در داخل یک بخش Policy محدود میشوند مشخص میکند. نامهای عملیات IPP در ادامه در بخش "نامهای عملیات IPP (IPP OPERATION NAMES)" فهرست شدهاند.
- <Limit method ...> ... </Limit>
- <LimitExcept method ...> ... </LimitExcept>
- متدهای 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 /path> ... </Location>
- کنترل دسترسی را برای مکان نامبرده مشخص میکند. مسیرها در ادامه در بخش "مسیرهای مکان (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" (۱۵ دقیقه) است.
- <Policy name> ... </Policy>
- کنترل دسترسی را برای سیاست نامبرده مشخص میکند.
- 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:
<Location /> Order allow,deny Allow from 10./8 AuthType Basic Require valid-user Satisfy any </Location>
همچنین ببینید (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.
| CUPS | 2025-03-12 |