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)