cupsd.conf

The /etc/cups/cupsd.conf file contains configuration directives that control how the server functions. Each directive is listed on a line by itself followed by its value. Comments are introduced using the number sign ("#") character at the beginning of a line.

Since the server configuration file consists of plain text, you can use your favorite text editor to make changes to it. After making any changes, restart the cupsd(8) process using the startup script for your operating system:

You can also edit this file from the CUPS web interface, which automatically handles restarting the scheduler.

Note:

The specification of time units ("w" for weeks, "h" for hours, etc.) in the various time interval directives is new in CUPS 1.6/OS X 10.8. Prior releases of CUPS only supported time intervals in seconds.

AccessLogLevel

Examples

AccessLogLevel config
AccessLogLevel actions
AccessLogLevel all

Description

The AccessLogLevel directive controls which requests are logged to the access log file. The following levels are defined:

The default access log level is actions.

Allow

Examples

<Location /path>
  ...
  Allow from All
  Allow from None
  Allow from *.example.com
  Allow from .example.com
  Allow from host.example.com
  Allow from nnn.*
  Allow from nnn.nnn.*
  Allow from nnn.nnn.nnn.*
  Allow from nnn.nnn.nnn.nnn
  Allow from nnn.nnn.nnn.nnn/mm
  Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
  Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
  Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
  Allow from @LOCAL
  Allow from @IF(name)
</Location>

Description

The Allow directive specifies a hostname, IP address, or network that is allowed access to the server. Allow directives are cumulative, so multiple Allow directives can be used to allow access for multiple hosts or networks.

Host and domain name matching require that you enable the HostNameLookups directive.

The /mm notation specifies a CIDR netmask, as shown in Table 1.

Table 1: CIDR Netmasks
mm netmask mm netmask
0 0.0.0.0 8 255.0.0.0
1 128.0.0.0 16 255.255.0.0
2 192.0.0.0 24 255.255.255.0
... ... 32 255.255.255.255

The @LOCAL name will allow access from all local interfaces. The @IF(name) name will allow access from the named interface. In both cases, CUPS only allows access from the network that the interface(s) are configured for - requests arriving on the interface from a foreign network will not be accepted.

The Allow directive must appear inside a Location or Limit section.

AuthType

Examples

<Location /path>
  ...
  AuthType None
  AuthType Basic
  AuthType Digest
  AuthType BasicDigest
  AuthType Negotiate
</Location>

Description

The AuthType directive defines the type of authentication to perform:

When using Basic, Digest, BasicDigest, or Negotiate authentication, clients connecting through the localhost interface can also authenticate using certificates.

The AuthType directive must appear inside a Location or Limit section.

AutoPurgeJobs

Examples

AutoPurgeJobs Yes
AutoPurgeJobs No

Description

The AutoPurgeJobs directive specifies whether or not to purge completed jobs once they are no longer required for quotas. This option has no effect if quotas are not enabled. The default setting is No.

CUPS 1.2/OS X 10.5BrowseLocalProtocols

Examples

BrowseLocalProtocols all
BrowseLocalProtocols none
BrowseLocalProtocols dnssd

Description

The BrowseLocalProtocols directive specifies the protocols to use when advertising local shared printers on the network. Multiple protocols can be specified by separating them with spaces. The default is "dnssd" on systems that support Bonjour and "none" on all others.

BrowseWebIF

Examples

BrowseWebIF On
BrowseWebIF Off

Description

The BrowseWebIF directive controls whether the CUPS web interface is advertised via DNS-SD. The default setting is Off.

Browsing

Examples

Browsing On
Browsing Off

Description

The Browsing directive controls whether or not printer sharing is enabled. The default setting is On.

CUPS 1.1.7Classification

Examples

Classification
Classification classified
Classification confidential
Classification secret
Classification topsecret
Classification unclassified

Description

The Classification directive sets the classification level on the server. When this option is set, at least one of the banner pages is forced to the classification level, and the classification is placed on each page of output. The default is no classification level.

CUPS 1.1.10ClassifyOverride

Examples

ClassifyOverride Yes
ClassifyOverride No

Description

The ClassifyOverride directive specifies whether users can override the default classification level on the server. When the server classification is set, users can change the classification using the job-sheets option and can choose to only print one security banner before or after the job. If the job-sheets option is set to none then the server default classification is used.

The default is to not allow classification overrides.

CUPS 1.2/OS X 10.5DefaultAuthType

Examples

DefaultAuthType Basic
DefaultAuthType BasicDigest
DefaultAuthType Digest
DefaultAuthType Negotiate

Description

The DefaultAuthType directive specifies the type of authentication to use for IPP operations that require a username. The default is Basic.

CUPS 1.2/OS X 10.5DefaultEncryption

Examples

DefaultEncryption Never
DefaultEncryption IfRequested
DefaultEncryption Required

Description

The DefaultEncryption directive specifies the type of encryption to use when performing authentication. The default is Required.

DefaultLanguage

Examples

DefaultLanguage de
DefaultLanguage en
DefaultLanguage es
DefaultLanguage fr
DefaultLanguage it

Description

The DefaultLanguage directive specifies the default language to use for client connections. Setting the default language also sets the default character set if a language localization file exists for it. The default language is "en" for English.

CUPS 1.4/OS X 10.6DefaultPaperSize

Examples

DefaultPaperSize Letter
DefaultPaperSize A4
DefaultPaperSize Auto
DefaultPaperSize None

Description

The DefaultPaperSize directive specifies the default paper size to use when creating new printers. The default is Auto which uses a paper size appropriate for the system default locale. A value of None tells the scheduler to not set the default paper size.

CUPS 1.2/OS X 10.5DefaultPolicy

Examples

DefaultPolicy default
DefaultPolicy authenticated
DefaultPolicy foo

Description

The DefaultPolicy directive specifies the default policy to use for IPP operation. The default is default. CUPS also includes a policy called authenticated that requires a username and password for printing and other job operations.

CUPS 1.2/OS X 10.5DefaultShared

Examples

DefaultShared Yes
DefaultShared No

Description

The DefaultShared directive specifies whether printers are shared (published) by default. The default is Yes.

Deny

Examples

<Location /path>
  ..
  Deny from All
  Deny from None
  Deny from *.example.com
  Deny from .example.com
  Deny from host.example.com
  Deny from nnn.*
  Deny from nnn.nnn.*
  Deny from nnn.nnn.nnn.*
  Deny from nnn.nnn.nnn.nnn
  Deny from nnn.nnn.nnn.nnn/mm
  Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
  Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
  Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
  Deny from @LOCAL
  Deny from @IF(name)
</Location>

Description

The Deny directive specifies a hostname, IP address, or network that is denied access to the server. Deny directives are cumulative, so multiple Deny directives can be used to deny access for multiple hosts or networks.

Host and domain name matching require that you enable the HostNameLookups directive.

The /mm notation specifies a CIDR netmask, a shown in Table 1.

The @LOCAL name will deny access from all local interfaces. The @IF(name) name will deny access from the named interface. In both cases, CUPS only denies access from the network that the interface(s) are configured for - requests arriving on the interface from a foreign network will not be denied.

The Deny directive must appear inside a Location or Limit section.

CUPS 1.4/OS X 10.6DirtyCleanInterval

Examples

DirtyCleanInterval 1w
DirtyCleanInterval 1d
DirtyCleanInterval 1h
DirtyCleanInterval 1m
DirtyCleanInterval 30
DirtyCleanInterval 0

Description

The DirtyCleanInterval directive specifies the amount of time to wait before updating configuration and state files for printers, classes, subscriptions, and jobs in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix). A value of 0 causes the update to occur as soon as possible, typically within a few milliseconds.

The default value is 30 (30 seconds).

Encryption

Examples

<Location /path>
  ...
  Encryption Never
  Encryption IfRequested
  Encryption Required
</Location>

Description

The Encryption directive must appear instead a Location or Limit section and specifies the encryption settings for that location. The default setting is IfRequested for all locations.

CUPS 1.3/OS X 10.5ErrorPolicy

Examples

ErrorPolicy abort-job
ErrorPolicy retry-job
ErrorPolicy stop-printer

Description

The ErrorPolicy directive defines the default policy that is used when a backend is unable to send a print job to the printer.

The following values are supported:

CUPS 1.1.3FilterLimit

Examples

FilterLimit 0
FilterLimit 200
FilterLimit 1000

Description

The FilterLimit directive sets the maximum cost of all running job filters. It can be used to limit the number of filter programs that are run on a server to minimize disk, memory, and CPU resource problems. A limit of 0 disables filter limiting.

An average print to a non-PostScript printer needs a filter limit of about 200. A PostScript printer needs about half that (100). Setting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time.

The default limit is 0.

CUPS 1.1.16FilterNice

Examples

FilterNice 0
FilterNice 10
FilterNice 19

Description

The FilterNice directive sets the nice(1) value to assign to filter processes. The nice value ranges from 0, the highest priority, to 19, the lowest priority. The default is 0.

CUPS 1.6/OS X 10.8GSSServiceName

Examples

GSSServiceName http
GSSServiceName ipp

Description

The GSSServiceName directive sets the Kerberos service name to use. The default is http for compatibility with Microsoft Windows.

HostNameLookups

Examples

HostNameLookups On
HostNameLookups Off
HostNameLookups Double

Description

The HostNameLookups directive controls whether or not CUPS looks up the hostname for connecting clients. The Double setting causes CUPS to verify that the hostname resolved from the address matches one of the addresses returned for that hostname. Double 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. Set this option to On or Double only if absolutely required.

CUPS 1.1.9Include

Examples

Include filename
Include /foo/bar/filename

Description

The Include directive includes the named file in the cupsd.conf file. If no leading path is provided, the file is assumed to be relative to the ServerRoot directory.

CUPS 1.5JobPrivateAccess

Examples

JobPrivateAccess all
JobPrivateAccess default
JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM}+

Description

The JobPrivateAccess directive specifies the access list for a job's private values. The "default" access list is "@OWNER @SYSTEM". "@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values.

The JobPrivateAccess directive must appear inside a Policy section.

CUPS 1.5JobPrivateValues

Examples

JobPrivateValues all
JobPrivateValues default
JobPrivateValues none
JobPrivateValues attribute-name-1 [ ... attribute-name-N ]

Description

The JobPrivateValues directive specifies the list of job values to make private. The "default" values are "job-name", "job-originating-host-name", "job-originating-user-name", and "phone".

The JobPrivateValues directive must appear inside a Policy section.

CUPS 1.2/OS X 10.5JobRetryInterval

Examples