cupsd.conf(5) (CUPS) cupsd.conf(5) NAME cupsd.conf - server configuration file for cups DESCRIPTION The cupsd.conf file configures the CUPS scheduler, cupsd(8). It is normally located in the /etc/cups directory. Each line in the file can be a configuration directive, a blank line, or a comment. Configuration directives typically con- sist of a name and zero or more values separated by whites- pace. The configuration directive name and values are case-insensitive. Comment lines start with the # character. TOP-LEVEL DIRECTIVES The following top-level directives are understood by cupsd(8): AccessLogLevel config AccessLogLevel actions AccessLogLevel all Specifies the logging level for the AccessLog file. The "config" level logs when printers and classes are added, deleted, or modified and when configuration files are accessed or updated. The "actions" level logs when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for "config". The "all" level logs all requests. The default access log level is "actions". AutoPurgeJobs Yes AutoPurgeJobs No Specifies whether to purge job history data automati- cally when it is no longer required for quotas. The default is "No". BrowseDNSSDSubTypes_subtype[,...] Specifies a list of Bonjour sub-types to advertise for each shared printer. For example, "BrowseDNSSDSubTypes _cups,_print" will tell network clients that both CUPS sharing and IPP Everywhere are supported. The default is "_cups" which is necessary for printer sharing to work between systems using CUPS. BrowseLocalProtocols all BrowseLocalProtocols dnssd BrowseLocalProtocols none Page 1 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) Specifies which protocols to use for local printer sharing. The default is "dnssd" on systems that sup- port Bonjour and "none" otherwise. BrowseWebIF Yes BrowseWebIF No Specifies whether the CUPS web interface is advertised. The default is "No". Browsing Yes Browsing No Specifies whether shared printers are advertised. The default is "No". DefaultAuthType Basic DefaultAuthType Negotiate Specifies the default type of authentication to use. The default is "Basic". DefaultEncryption Never DefaultEncryption IfRequested DefaultEncryption Required Specifies whether encryption will be used for authenti- cated requests. The default is "Required". DefaultLanguage locale Specifies the default language to use for text and web content. The default is "en". DefaultPaperSize Auto DefaultPaperSize None DefaultPaperSize sizename Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size. Specific size names are typically "Letter" or "A4". The default is "Auto". DefaultPolicy policy-name Specifies the default access policy to use. The default access policy is "default". DefaultShared Yes DefaultShared No Page 2 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) Specifies whether local printers are shared by default. The default is "Yes". DirtyCleanInterval seconds Specifies the delay for updating of configuration and state files. A value of 0 causes the update to happen as soon as possible, typically within a few millisec- onds. The default value is "30". DNSSDHostNamehostname.example.com Specifies the fully-qualified domain name for the server that is used for Bonjour sharing. The default is typically the server's ".local" hostname. ErrorPolicy abort-job Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer. ErrorPolicy retry-current-job Specifies that a failed print job should be retried immediately unless otherwise specified for the printer. ErrorPolicy retry-job Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer. ErrorPolicy stop-printer Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default. FilterLimit limit Specifies the maximum cost of filters that are run con- currently, which can be used to minimize disk, memory, and CPU resource problems. A limit of 0 disables fil- ter limiting. An average print to a non-PostScript printer needs a filter limit of about 200. A PostScript printer needs about half that (100). Set- ting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time. The default limit is "0". FilterNice nice-value Specifies the scheduling priority ( nice(8) value) of filters that are run to print a job. The nice value ranges from 0, the highest priority, to 19, the lowest priority. The default is 0. GSSServiceName name Specifies the service name when using Kerberos authen- tication. The default service name is "http." Page 3 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) HostNameLookups On HostNameLookups Off HostNameLookups Double Specifies whether to do reverse lookups on connecting clients. The "Double" setting causes cupsd(8) to ver- ify that the hostname resolved from the address matches one of the addresses returned for that hostname. Dou- ble lookups also prevent clients with unregistered addresses from connecting to your server. The default is "Off" to avoid the potential server performance problems with hostname lookups. Only set this option to "On" or "Double" if absolutely required. IdleExitTimeout seconds Specifies the length of time to wait before shutting down due to inactivity. The default is "60" seconds. Note: Only applicable when cupsd(8) is run on-demand (e.g., with -l). JobKillDelay seconds Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job. The default is "30". JobRetryInterval seconds Specifies the interval between retries of jobs in sec- onds. This is typically used for fax queues but can also be used with normal print queues whose error pol- icy is "retry-job" or "retry-current-job". The default is "30". JobRetryLimit count Specifies the number of retries that are done for jobs. This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job". The default is "5". KeepAlive Yes KeepAlive No Specifies whether to support HTTP keep-alive connec- tions. The default is "Yes". KeepAliveTimeout seconds Specifies how long an idle client connection remains open. The default is "30". <Limit operation ...> ... </Limit> Specifies the IPP operations that are being limited Page 4 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) inside a Policy section. IPP operation names are listed below in the section "IPP OPERATION NAMES". <Limit method ...> ... </Limit> <LimitExcept method ...> ... </LimitExcept> Specifies the HTTP methods that are being limited inside a Location section. HTTP method names are listed below in the section "HTTP METHOD NAMES". LimitRequestBody size Specifies the maximum size of print files, IPP requests, and HTML form data. The default is "0" which disables the limit check. Listen ipv4-address:port Listen [ipv6-address]:port Listen *:port Listen /path/to/domain/socket Listens to the specified address and port or domain socket path for connections. Multiple Listen direc- tives can be provided to listen on multiple addresses. The Listen directive is similar to the Port directive but allows you to restrict access to specific inter- faces or networks. Note: "Listen *:port" and "Port port" effectively listen on all IP addresses, so you cannot combine them with Listen directives for explicit IPv4 or IPv6 addresses on the same port. ListenBackLog number Specifies the number of pending connections that will be allowed. This normally only affects very busy servers that have reached the MaxClients limit, but can also be triggered by large numbers of simultaneous con- nections. When the limit is reached, the operating system will refuse additional connections until the scheduler can accept the pending ones. The default is the OS-defined default limit, typically either "5" for older operating systems or "128" for newer operating systems. <Location /path> ... </Location> Specifies access control for the named location. Paths are documented below in the section "LOCATION PATHS". LogDebugHistory number Specifies the number of debugging messages that are retained for logging if an error occurs in a print job. Debug messages are logged regardless of the LogLevel Page 5 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) setting. LogLevel none LogLevel emerg LogLevel alert LogLevel crit LogLevel error LogLevel warn LogLevel notice LogLevel info LogLevel debug LogLevel debug2 Specifies the level of logging for the ErrorLog file. The value "none" stops all logging while "debug2" logs everything. The default is "warn". LogTimeFormat standard LogTimeFormat usecs Specifies the format of the date and time in the log files. The value "standard" is the default and logs whole seconds while "usecs" logs microseconds. MaxClients number Specifies the maximum number of simultaneous clients that are allowed by the scheduler. The default is "100". MaxClientsPerHost number Specifies the maximum number of simultaneous clients that are allowed from a single address. The default is the MaxClients value. MaxCopies number Specifies the maximum number of copies that a user can print of each job. The default is "9999". MaxHoldTime seconds Specifies the maximum time a job may remain in the "indefinite" hold state before it is canceled. The default is "0" which disables cancellation of held jobs. Page 6 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) MaxJobs number Specifies the maximum number of simultaneous jobs that are allowed. Set to "0" to allow an unlimited number of jobs. The default is "500". MaxJobsPerPrinter number Specifies the maximum number of simultaneous jobs that are allowed per printer. The default is "0" which allows up to MaxJobs jobs per printer. MaxJobsPerUser number Specifies the maximum number of simultaneous jobs that are allowed per user. The default is "0" which allows up to MaxJobs jobs per user. MaxJobTime seconds Specifies the maximum time a job may take to print before it is canceled. Set to "0" to disable cancella- tion of "stuck" jobs. The default is "10800" (3 hours). MaxLogSize size Specifies the maximum size of the log files before they are rotated. The value "0" disables log rotation. The default is "1048576" (1MB). MultipleOperationTimeout seconds Specifies the maximum amount of time to allow between files in a multiple file print job. The default is "900" (15 minutes). <Policy name> ... </Policy> Specifies access control for the named policy. Port number Listens to the specified port number for connections. PreserveJobFiles Yes PreserveJobFiles No PreserveJobFiles seconds Specifies whether job files (documents) are preserved after a job is printed. If a numeric value is speci- fied, job files are preserved for the indicated number of seconds after printing. The default is "86400" (preserve 1 day). PreserveJobHistory Yes PreserveJobHistory No Page 7 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) PreserveJobHistory seconds Specifies whether the job history is preserved after a job is printed. If a numeric value is specified, the job history is preserved for the indicated number of seconds after printing. If "Yes", the job history is preserved until the MaxJobs limit is reached. The default is "Yes". ReloadTimeout seconds Specifies the amount of time to wait for job completion before restarting the scheduler. The default is "30". ServerAdmin email-address Specifies the email address of the server administra- tor. The default value is "root@ServerName". ServerAlias hostname [ ... hostname ] ServerAlias * The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces. Using the special name "*" can expose your system to known browser-based DNS rebinding attacks, even when accessing sites through a firewall. If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a Server- Alias directive instead of using "*". ServerName hostname Specifies the fully-qualified hostname of the server. The default is the value reported by the hostname(1) command. ServerTokens None ServerTokens ProductOnly ServerTokens Major ServerTokens Minor ServerTokens Minimal ServerTokens OS ServerTokens Full Specifies what information is included in the Server header of HTTP responses. "None" disables the Server header. "ProductOnly" reports "CUPS". "Major" reports "CUPS/major IPP/2". "Minor" reports "CUPS/major.minor IPP/2.1". "Minimal" reports "CUPS/major.minor.patch IPP/2.1". "OS" reports "CUPS/major.minor.path (osname Page 8 28 November 2020 (printed 5/26/22) cupsd.conf(5) (CUPS) cupsd.conf(5) osversion) IPP/2.1". "Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1". The default is "Minimal". SSLListen ipv4-address:port SSLListen [ipv6-address]:port SSLListen *:port Listens on the specified address and port for encrypted connections. Copyright [co] 2007-2019 by Apple Inc. Page 9 28 November 2020 (printed 5/26/22)