cupsd.conf(5) OpenPrinting cupsd.conf(5)

cupsd.conf - فایل اصلی پیکربندی سرور چاپ CUPS

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

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

سطح گزارش‌گیری را برای فایل AccessLog مشخص می‌کند. سطح "config" زمان افزودن، حذف یا تغییر چاپگرها و کلاس‌ها و زمان دسترسی یا به‌روزرسانی فایل‌های پیکربندی را ثبت می‌کند. سطح "actions" زمان ارسال، نگه‌داشتن، آزادسازی، تغییر یا لغو کارهای چاپ و هر یک از شرایط "config" را ثبت می‌کند. سطح "all" تمامی درخواست‌ها را ثبت می‌کند. سطح پیش‌فرض گزارش دسترسی "actions" است.

مشخص می‌کند که آیا داده‌های تاریخچه کارها در صورتی که دیگر برای سهمیه‌بندی‌ها لازم نباشند، به‌طور خودکار پاکسازی شوند یا خیر. مقدار پیش‌فرض "No" است.
فهرستی از زیرنوع‌های Bonjour را برای اعلان به ازای هر چاپگر به اشتراک گذاشته شده مشخص می‌کند. به عنوان مثال، "BrowseDNSSDSubTypes _cups,_print" به کلاینت‌های شبکه اعلام می‌کند که هم اشتراک‌گذاری CUPS و هم IPP Everywhere پشتیبانی می‌شوند. مقدار پیش‌فرض "_cups" است که برای کارکرد اشتراک‌گذاری چاپگر میان سیستم‌های استفاده‌کننده از CUPS ضروری است.
پروتکل‌های مورد استفاده برای اشتراک‌گذاری محلی چاپگر را مشخص می‌کند. مقدار پیش‌فرض در سیستم‌هایی که از Bonjour پشتیبانی می‌کنند "dnssd" و در غیر این صورت "none" است.

مشخص می‌کند که آیا رابط وب CUPS اعلان (تبلیغ) شود یا خیر. مقدار پیش‌فرض "No" است.

مشخص می‌کند که آیا چاپگرهای به اشتراک گذاشته شده اعلان شوند یا خیر. مقدار پیش‌فرض "No" است.

نوع پیش‌فرض احراز هویت مورد استفاده را مشخص می‌کند. مقدار پیش‌فرض "Basic" است.
مشخص می‌کند که آیا برای درخواست‌های احراز هویت‌شده از رمزنگاری استفاده شود یا خیر. مقدار پیش‌فرض "Required" است.
زبان پیش‌فرض مورد استفاده برای متن و محتوای وب را مشخص می‌کند. مقدار پیش‌فرض "en" است.
اندازه پیش‌فرض کاغذ را برای صف‌های چاپ جدید مشخص می‌کند. مقدار "Auto" از پیش‌فرض وابسته به محلی‌سازی (locale) استفاده می‌کند، در حالی که "None" مشخص می‌کند هیچ اندازه کاغذی به صورت پیش‌فرض وجود ندارد. نام‌های اندازه‌های خاص معمولاً "Letter" یا "A4" هستند. مقدار پیش‌فرض "Auto" است.

نکته: اندازه پیش‌فرض کاغذ باید از نام اندازه موجود در فایل PPD استفاده کند و نه از نام اندازه رسانه خودتوصیف‌گر PWG.

سیاست دسترسی پیش‌فرض را برای استفاده مشخص می‌کند. سیاست دسترسی پیش‌فرض "default" است.
مشخص می‌کند که آیا چاپگرهای محلی به‌طور پیش‌فرض به اشتراک گذاشته شوند یا خیر. مقدار پیش‌فرض "Yes" است.
میزان تاخیر برای به‌روزرسانی فایل‌های پیکربندی و وضعیت را مشخص می‌کند. مقدار 0 باعث می‌شود به‌روزرسانی در سریع‌ترین زمان ممکن، معمولاً ظرف چند میلی‌ثانیه رخ دهد. مقدار پیش‌فرض "30" ثانیه است.
نام دامنه کاملاً واجد شرایط (FQDN) را برای سروری که برای اشتراک‌گذاری Bonjour استفاده می‌شود مشخص می‌کند. مقدار پیش‌فرض معمولاً نام میزبان ".local" سرور است.
مشخص می‌کند که یک کار چاپ ناموفق باید لغو (دور انداخته) شود، مگر اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
مشخص می‌کند که یک کار چاپ ناموفق باید بلافاصله دوباره تلاش شود، مگر اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
مشخص می‌کند که یک کار چاپ ناموفق باید در زمان دیگری دوباره تلاش شود، مگر اینکه برای چاپگر به نحو دیگری مشخص شده باشد.
مشخص می‌کند که یک کار چاپ ناموفق باید چاپگر را متوقف کند، مگر اینکه برای چاپگر به نحو دیگری مشخص شده باشد. سیاست خطای 'stop-printer' پیش‌فرض است.
حداکثر هزینه فیلترهایی را که به طور همزمان اجرا می‌شوند مشخص می‌کند، که می‌تواند برای به حداقل رساندن مشکلات دیسک، حافظه و منابع پردازنده (CPU) استفاده شود. حد 0 محدودسازی فیلتر را غیرفعال می‌کند. یک چاپ معمولی در یک چاپگر غیر PostScript به محدودیت فیلتری در حدود 200 نیاز دارد. یک چاپگر PostScript به حدود نیمی از آن (100) نیاز دارد. تنظیم حد پایین‌تر از این آستانه‌ها عملاً زمان‌بند را به چاپ تنها یک کار در هر زمان محدود می‌کند. حد پیش‌فرض "0" است.
اولویت زمان‌بندی (مقدار nice(8)) فیلترهایی را که برای چاپ یک کار اجرا می‌شوند، مشخص می‌کند. مقدار nice از 0 (بالاترین اولویت) تا 19 (پایین‌ترین اولویت) متغیر است. مقدار پیش‌فرض 0 است.
مشخص می‌کند که آیا جستجوی معکوس روی کلاینت‌های متصل‌شونده انجام شود یا خیر. تنظیم "Double" موجب می‌شود cupsd(8) بررسی کند که نام میزبان به‌دست‌آمده از نشانی، با یکی از نشانی‌های بازگردانده‌شده برای آن نام میزبان مطابقت داشته باشد. جستجوهای دوگانه همچنین از اتصال کلاینت‌هایی با نشانی‌های ثبت‌نشده به سرور شما جلوگیری می‌کنند. مقدار پیش‌فرض "Off" است تا از مشکلات بالقوه عملکرد سرور ناشی از جستجوهای نام میزبان جلوگیری شود. این گزینه را فقط در صورت نیاز قطعی روی "On" یا "Double" تنظیم کنید.
مدت زمانی را که قبل از خاموش شدن به دلیل عدم فعالیت باید منتظر ماند مشخص می‌کند. مقدار پیش‌فرض "60" ثانیه است.

نکته: فقط زمانی کاربرد دارد که cupsd(8) به صورت درخواستی (به عنوان مثال با -l) اجرا شده باشد.

تعداد ثانیه‌هایی را مشخص می‌کند که قبل از متوقف کردن اجباری فیلترها و بک‌اند مرتبط با یک کار لغوشده یا نگه‌داشته‌شده باید منتظر ماند. مقدار پیش‌فرض "300" است.
فاصله زمانی بین تلاش‌های مجدد کارها را بر حسب ثانیه مشخص می‌کند. این مورد معمولاً برای صف‌های فکس استفاده می‌شود، اما می‌تواند با صف‌های چاپ معمولی که سیاست خطای آن‌ها "retry-job" است نیز استفاده شود. مقدار پیش‌فرض "300" است.
تعداد دفعات تلاش مجدد انجام‌شده برای کارها را مشخص می‌کند. این مورد معمولاً برای صف‌های فکس استفاده می‌شود، اما می‌تواند با صف‌های چاپ معمولی که سیاست خطای آن‌ها "retry-job" است نیز به کار رود. مقدار پیش‌فرض "5" است.
مشخص می‌کند که آیا از اتصالات زنده نگه‌داشتن (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)" فهرست شده‌اند.
حداکثر اندازه فایل‌های چاپ، درخواست‌های IPP و داده‌های فرم HTML را مشخص می‌کند. مقدار پیش‌فرض "0" است که بررسی محدودیت را غیرفعال می‌کند.
برای برقراری اتصالات، به آدرس و پورت مشخص‌شده یا مسیر سوکت دامنه گوش می‌دهد. چندین دستورالعمل Listen را می‌توان برای گوش دادن به چندین آدرس ارائه داد. دستورالعمل Listen مشابه دستورالعمل Port است، اما به شما امکان می‌دهد دسترسی را به رابط‌ها یا شبکه‌های خاص محدود کنید.

نکته: عبارت‌های "Listen *:port" و "Port port" عملاً روی تمام آدرس‌های IP گوش می‌دهند، بنابراین نمی‌توانید آن‌ها را با دستورالعمل‌های Listen برای آدرس‌های صریح IPv4 یا IPv6 روی همان پورت ترکیب کنید.

<Location /path> ... </Location>
کنترل دسترسی را برای مکان نام‌برده مشخص می‌کند. مسیرها در ادامه در بخش "مسیرهای مکان (LOCATION PATHS)" مستند شده‌اند.
تعداد پیام‌های اشکال‌زدایی را که در صورت بروز خطا در یک کار چاپ برای ثبت در گزارش نگه‌داری می‌شوند، مشخص می‌کند. پیام‌های اشکال‌زدایی بدون در نظر گرفتن تنظیمات LogLevel ثبت می‌شوند.
سطح گزارش‌گیری را برای فایل ErrorLog مشخص می‌کند. مقدار "none" تمام گزارش‌گیری‌ها را متوقف می‌کند، در حالی که "debug2" همه چیز را ثبت می‌نماید. مقدار پیش‌فرض "warn" است.
قالب تاریخ و زمان را در فایل‌های گزارش مشخص می‌کند. مقدار "standard" پیش‌فرض است و ثانیه‌های کامل را ثبت می‌کند، در حالی که "usecs" میکروثانیه‌ها را ثبت می‌نماید.
حداکثر تعداد کلاینت‌های همزمان را که توسط زمان‌بند مجاز شمرده می‌شوند مشخص می‌کند. مقدار پیش‌فرض "100" است.
حداکثر تعداد کلاینت‌های همزمان مجاز از یک آدرس واحد را مشخص می‌کند. مقدار پیش‌فرض برابر با مقدار MaxClients است.
حداکثر تعداد رونوشت‌هایی را که یک کاربر می‌تواند از هر کار چاپ کند مشخص می‌کند. مقدار پیش‌فرض "9999" است.
حداکثر زمانی را که یک کار می‌تواند در وضعیت نگه‌داری "نامحدود" (indefinite) باقی بماند تا پیش از اینکه لغو شود مشخص می‌کند. مقدار پیش‌فرض "0" است که لغو خودکار کارهای نگه‌داشته‌شده را غیرفعال می‌کند.
حداکثر تعداد کارهای همزمان مجاز را مشخص می‌کند. برای مجاز بودن تعداد نامحدود کارها، آن را روی "0" قرار دهید. مقدار پیش‌فرض "500" است.
حداکثر تعداد کارهای همزمان مجاز به ازای هر چاپگر را مشخص می‌کند. مقدار پیش‌فرض "0" است که تا سقف MaxJobs کار را به ازای هر چاپگر مجاز می‌داند.
حداکثر تعداد کارهای همزمان مجاز به ازای هر کاربر را مشخص می‌کند. مقدار پیش‌فرض "0" است که تا سقف MaxJobs کار را به ازای هر کاربر مجاز می‌شمارد.
حداکثر زمانی را که یک کار می‌تواند برای چاپ صرف کند، قبل از اینکه لغو شود مشخص می‌کند. برای غیرفعال کردن لغو کارهای «گیرکرده»، مقدار آن را روی "0" قرار دهید. مقدار پیش‌فرض "10800" (۳ ساعت) است.
حداکثر اندازه فایل‌های گزارش را قبل از چرخش (دوران) آن‌ها مشخص می‌کند. مقدار "0" چرخش فایل‌های لاگ را غیرفعال می‌کند. مقدار پیش‌فرض "1048576" (۱ مگابایت) است.
حداکثر تعداد اشتراک‌های رویداد همزمان مجاز را مشخص می‌کند. برای مجاز بودن تعداد نامحدود اشتراک‌ها، مقدار را روی "0" قرار دهید. مقدار پیش‌فرض "100" است.
حداکثر تعداد اشتراک‌های رویداد همزمان مجاز به ازای هر کار را مشخص می‌کند. مقدار پیش‌فرض "0" است که تا سقف MaxSubscriptions اشتراک را برای هر کار مجاز می‌شمارد.
حداکثر تعداد اشتراک‌های رویداد همزمان مجاز به ازای هر چاپگر را مشخص می‌کند. مقدار پیش‌فرض "0" است که تا سقف MaxSubscriptions اشتراک را به ازای هر چاپگر مجاز می‌داند.
حداکثر تعداد اشتراک‌های رویداد همزمان مجاز به ازای هر کاربر را مشخص می‌کند. مقدار پیش‌فرض "0" است که تا سقف MaxSubscriptions اشتراک را برای هر کاربر مجاز می‌شمارد.
حداکثر زمان مجاز بین فایل‌ها در یک کار چاپ چندفایلی را مشخص می‌کند. مقدار پیش‌فرض "900" (۱۵ دقیقه) است.
<Policy name> ... </Policy>
کنترل دسترسی را برای سیاست نام‌برده مشخص می‌کند.
برای برقراری اتصالات، به شماره پورت مشخص‌شده گوش می‌دهد.
مشخص می‌کند که آیا فایل‌های کار (اسناد) پس از چاپ یک کار نگه‌داری شوند یا خیر. اگر یک مقدار عددی مشخص شود، فایل‌های کار برای تعداد ثانیه‌های تعیین‌شده پس از چاپ حفظ می‌شوند. مقدار پیش‌فرض "86400" (نگه‌داری به مدت ۱ روز) است.
مشخص می‌کند که آیا تاریخچه کار پس از چاپ شدن یک کار نگه‌داری شود یا خیر. اگر یک مقدار عددی تعیین شود، تاریخچه کار برای تعداد ثانیه‌های مشخص‌شده پس از چاپ نگه‌داری می‌شود. اگر "Yes" باشد، تاریخچه کار تا زمانی که به حد MaxJobs برسد نگه‌داری می‌شود. مقدار پیش‌فرض "Yes" است.
فهرستی از اندازه‌های احتمالی کاغذ را که به عنوان «آماده» (بارگذاری‌شده) گزارش می‌شوند، مشخص می‌کند. فهرست واقعی تنها شامل اندازه‌هایی خواهد بود که هر چاپگر از آن‌ها پشتیبانی می‌کند. مقدار پیش‌فرض در زمانی که اندازه کاغذ پیش‌فرض "Letter" باشد برابر با "Letter,Legal,Tabloid,4x6,Env10" و در غیر این صورت "A3,A4,A5,A6,EnvDL" است.

نکته: اندازه‌های کاغذ باید از نام‌های اندازه موجود در فایل PPD استفاده کنند و نه نام‌های رسانه خودتوصیف‌گر PWG.

مدت زمانی را که باید قبل از راه‌اندازی مجدد زمان‌بند برای تکمیل کار منتظر ماند مشخص می‌کند. مقدار پیش‌فرض "30" است.
آدرس ایمیل مدیر سرور را مشخص می‌کند. مقدار پیش‌فرض "root@ServerName" است.
دستورالعمل ServerAlias برای اعتبارسنجی هدر Host در HTTP هنگام اتصال کلاینت‌ها از رابط‌های خارجی به زمان‌بند استفاده می‌شود. استفاده از نام ویژه "*" می‌تواند سیستم شما را در معرض حملات شناخته‌شدهٔ بازپیوند DNS (DNS rebinding attacks) مبتنی بر مرورگر قرار دهد، حتی زمانی که دسترسی به سایت‌ها از طریق فایروال انجام شود. اگر کشف خودکار نام‌های جایگزین کار نمی‌کند، توصیه می‌کنیم به جای استفاده از "*"، هر نام جایگزین را با یک دستورالعمل ServerAlias جداگانه فهرست کنید.
نام میزبان کاملاً واجد شرایط (FQDN) سرور را مشخص می‌کند. مقدار پیش‌فرض، مقداری است که توسط دستور hostname(1) گزارش شده است.
مشخص می‌کند چه اطلاعاتی در هدر 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" است.
برای برقراری اتصالات رمزگذاری‌شده به آدرس و پورت مشخص‌شده گوش می‌دهد.
گزینه‌های رمزنگاری را تنظیم می‌کند (فقط در /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 پشتیبانی نمی‌کنند.
برای برقراری اتصالات رمزگذاری‌شده به پورت مشخص‌شده گوش می‌دهد.
مشخص می‌کند که آیا زمان‌بند کلاینت‌ها را ملزم به پیروی دقیق از مشخصات IPP می‌کند یا خیر. مقدار پیش‌فرض "No" است.
مهلت زمانی (timeout) درخواست HTTP را مشخص می‌کند. مقدار پیش‌فرض "900" (۱۵ دقیقه) است.
مشخص می‌کند که آیا رابط وب فعال باشد یا خیر. مقدار پیش‌فرض "No" است.

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

توسط یک کلاینت برای بارگیری آیکون‌ها و سایر منابع چاپگر و دسترسی به رابط وب CUPS استفاده می‌شود.
توسط یک کلاینت برای دریافت نوع، اندازه و تاریخ تغییر منابع استفاده می‌شود.
توسط یک کلاینت برای برقراری یک اتصال امن (SSL/TLS) استفاده می‌شود.
توسط یک کلاینت برای ارسال درخواست‌های IPP و فرم‌های HTML از طریق رابط وب CUPS استفاده می‌شود.
توسط یک کلاینت برای بارگذاری فایل‌های پیکربندی استفاده می‌شود.

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

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

مسیرهای زیر معمولاً هنگام پیکربندی 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 در فایل cupsd.conf قرار گیرند:

دسترسی از میزبان‌ها، دامنه‌ها، آدرس‌ها یا رابط‌های نام‌برده را مجاز می‌کند. قالب @IF(name) از زیرشبکه‌های فعلی پیکربندی‌شده برای رابط نام‌برده استفاده می‌کند. قالب @LOCAL از زیرشبکه‌های فعلی پیکربندی‌شده برای تمام رابط‌هایی که نقطه-به-نقطه (point-to-point) نیستند استفاده می‌کند؛ برای مثال رابط‌های اترنت و وای‌فای استفاده می‌شوند اما رابط‌های DSL و VPN استفاده نمی‌شوند. دستورالعمل Order کنترل می‌کند که آیا خطوط Allow قبل از خطوط Deny ارزیابی شوند یا بعد از آن‌ها.
نوع احراز هویت مورد نیاز را مشخص می‌کند. مقدار "Default" با مقدار DefaultAuthType مطابقت دارد.
دسترسی از میزبان‌ها، دامنه‌ها، آدرس‌ها یا رابط‌های نام‌برده را رد می‌کند. قالب @IF(name) از زیرشبکه‌های فعلی پیکربندی‌شده برای رابط نام‌برده استفاده می‌کند. قالب @LOCAL از زیرشبکه‌های فعلی پیکربندی‌شده برای تمام رابط‌هایی که نقطه-به-نقطه (point-to-point) نیستند استفاده می‌کند؛ برای مثال رابط‌های اترنت و وای‌فای استفاده می‌شوند اما رابط‌های DSL و VPN استفاده نمی‌شوند. دستورالعمل Order کنترل می‌کند که آیا خطوط Deny قبل از خطوط Allow ارزیابی شوند یا بعد از آن‌ها.
سطح رمزنگاری مورد نیاز برای یک مکان خاص را مشخص می‌کند. مقدار پیش‌فرض "IfRequested" است.
مشخص می‌کند که دسترسی به‌طور پیش‌فرض رد شده است. سپس خطوط Allow و به دنبال آن خطوط Deny پردازش می‌شوند تا مشخص شود آیا یک کلاینت می‌تواند به یک منبع خاص دسترسی داشته باشد یا خیر.
مشخص می‌کند که دسترسی به‌طور پیش‌فرض مجاز است. سپس خطوط Deny و به دنبال آن خطوط Allow پردازش می‌شوند تا مشخص شود آیا یک کلاینت می‌تواند به یک منبع خاص دسترسی داشته باشد یا خیر.
مشخص می‌کند که یک کاربر احراز هویت‌شده باید عضو یکی از گروه‌های نام‌برده باشد.
مشخص می‌کند که یک کاربر احراز هویت‌شده باید با یکی از کاربران نام‌برده مطابقت داشته باشد یا عضو یکی از گروه‌های نام‌برده باشد. نام گروه "@SYSTEM" متناظر با فهرست گروه‌های تعریف‌شده توسط دستورالعمل SystemGroup در فایل cups-files.conf(5) است. نام گروه "@OWNER" متناظر با مالک منبع است، به عنوان مثال فردی که کار چاپ را ارسال کرده است.

نکته: کاربر 'root' ویژگی خاصی ندارد و مانند هر حساب کاربری دیگری باید به آن امتیازات اعطا شود.

مشخص می‌کند که هر کاربر احراز هویت‌شده‌ای پذیرفته می‌شود.
مشخص می‌کند که تمام شرایط Allow، AuthType، Deny، Order و Require باید برای اجازه دسترسی برآورده شوند.
مشخص می‌کند در صورتی که هر یک از شرایط احراز هویت (AuthType/Require) یا آدرس (Allow/Deny/Order) برآورده شود، یک کلاینت می‌تواند به یک منبع دسترسی یابد. به عنوان مثال، می‌توان از این گزینه برای الزامی کردن احراز هویت تنها برای دسترسی‌های از راه دور استفاده کرد.

دستورالعمل‌های زیر ممکن است در بخش‌های Policy در فایل cupsd.conf قرار گیرند:

یک فهرست دسترسی برای مقادیر خصوصی یک کار مشخص می‌کند. فهرست دسترسی پیش‌فرض ("default") برابر با "@OWNER @SYSTEM" است. مقدار "@ACL" با مقادیر requesting-user-name-allowed یا requesting-user-name-denied چاپگر نگاشت می‌شود. مقدار "@OWNER" با مالک کار نگاشت می‌شود. مقدار "@SYSTEM" با گروه‌های فهرست‌شده برای دستورالعمل SystemGroup در فایل cups-files.conf(5) نگاشت می‌شود.
فهرست مقادیر کار را برای خصوصی کردن مشخص می‌کند. مقادیر پیش‌فرض ("default") عبارتند از "job-name"، "job-originating-host-name"، "job-originating-user-name" و "phone".
یک فهرست دسترسی برای مقادیر خصوصی یک اشتراک مشخص می‌کند. فهرست دسترسی پیش‌فرض ("default") برابر با "@OWNER @SYSTEM" است. مقدار "@ACL" با مقادیر requesting-user-name-allowed یا requesting-user-name-denied چاپگر نگاشت می‌شود. مقدار "@OWNER" با مالک کار نگاشت می‌شود. مقدار "@SYSTEM" با گروه‌های فهرست‌شده برای دستورالعمل SystemGroup در فایل cups-files.conf(5) نگاشت می‌شود.
فهرست مقادیر اشتراک را برای خصوصی کردن مشخص می‌کند. مقادیر پیش‌فرض ("default") عبارتند از "notify-events"، "notify-pull-method"، "notify-recipient-uri"، "notify-subscriber-user-name" و "notify-user-data".

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

مشخص می‌کند که احراز هویت کربروس (Kerberos) مورد نیاز است.

طبقه‌بندی امنیتی سرور را مشخص می‌کند. هر نام بنر معتبری می‌تواند استفاده شود، از جمله "classified"، "confidential"، "secret"، "topsecret" و "unclassified"، یا بنر می‌تواند حذف شود تا عملکردهای چاپ امن غیرفعال گردند. پیش‌فرض، نداشتن بنر طبقه‌بندی است.

مشخص می‌کند که آیا کاربران می‌توانند طبقه‌بندی (صفحه پوششی) کارهای چاپ منفرد را با استفاده از گزینه "job-sheets" لغو کنند یا خیر. مقدار پیش‌فرض "No" است.
مشخص می‌کند که احراز هویت کربروس به‌طور پیش‌فرض مورد نیاز است.
نام سرویس را هنگام استفاده از احراز هویت کربروس مشخص می‌کند. نام سرویس پیش‌فرض "http." است.
قالب خطوط 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}" برای درج تعداد برگه‌های چاپ‌شده استفاده کنید.

دستورالعمل‌های پیکربندی فایل، دایرکتوری و کاربر که قبلاً در فایل cupsd.conf مجاز بودند، اکنون به منظور جلوگیری از انواع خاصی از حملات افزایش سطح دسترسی (privilege escalation)، در فایل cups-files.conf(5) ذخیره می‌شوند.

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

نام ماکروی @LOCAL می‌تواند گیج‌کننده باشد زیرا سیستمی که cupsd را اجرا می‌کند اغلب به مجموعه‌ای از زیرشبکه‌ها متفاوت از کلاینت‌هایش تعلق دارد.

قالب فایل cupsd.conf بر اساس قالب فایل پیکربندی سرور وب آپاچی (Apache HTTP Server) است.

ثبت گزارش همه‌چیز با حداکثر اندازه فایل گزارش ۳۲ مگابایت:

AccessLogLevel all
LogLevel debug2
MaxLogSize 32m

الزام احراز هویت برای دسترسی‌ها از خارج شبکه .10:

<Location />
Order allow,deny
Allow from 10./8
AuthType Basic
Require valid-user
Satisfy any
</Location>

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

CUPS 2025-03-12