Provided by: cups-daemon_2.1.3-4_amd64 bug

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.  Note: File, directory, and user  configuration  directives  that
       used  to  be  allowed in the cupsd.conf file are now stored in the cups-files.conf(5) file
       instead in order to prevent certain types of privilege escalation attacks.

       Each line in the file can be a configuration  directive,  a  blank  line,  or  a  comment.
       Configuration  directives typically consist of a name and zero or more values separated by
       whitespace.  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  automatically when it is no longer
            required for quotas.  The default is "No".

       BrowseLocalProtocols all

       BrowseLocalProtocols dnssd

       BrowseLocalProtocols none
            Specifies which protocols to use for local printer sharing.  The default  is  "dnssd"
            on systems that support 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".

       Classification banner
            Specifies  the  security  classification of the server.  Any valid banner name can be
            used,   including   "classified",   "confidential",   "secret",   "topsecret",    and
            "unclassified",  or  the  banner can be omitted to disable secure printing functions.
            The default is no classification banner.

       ClassifyOverride Yes

       ClassifyOverride No
            Specifies whether users may override the classification (cover  page)  of  individual
            print jobs using the "job-sheets" option.  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 authenticated 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
            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 milliseconds.
            The default value is "30".

       ErrorPolicy abort-job
            Specifies that a failed print job should  be  aborted  (discarded)  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 retry-this-job
            Specifies that a failed print job should  be  retried  immediately  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 concurrently, which can be used 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".

       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 authentication.  The default service
            name is "http."

       HostNameLookups On

       HostNameLookups Off

       HostNameLookups Double
            Specifies whether to do reverse lookups on connecting clients.  The "Double"  setting
            causes  cupsd(8) 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.   Only  set  this
            option to "On" or "Double" if absolutely required.

       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 seconds.  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 "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 connections.  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  inside  a  Policy  section.  IPP
            operation names are listed below in the section "IPP OPERATIONS".

       <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 METHODS".

       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 directives 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 interfaces or networks.

       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 connections.  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 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.

       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 cancellation 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 "300" (5 minutes).

       PageLogFormat format-string
            Specifies  the  format  of  PageLog  lines.   Sequences  beginning  with  percent (%)
            characters  are  replaced  with  the  corresponding  information,  while  all   other
            characters are copied literally.  The following percent sequences are recognized:

                "%%" inserts a single percent character.
                "%{name}" inserts the value of the specified IPP attribute.
                "%C" inserts the number of copies for the current page.
                "%P" inserts the current page number.
                "%T" inserts the current date and time in common log format.
                "%j" inserts the job ID.
                "%p" inserts the printer name.
                "%u" inserts the username.

            The  default  is the empty string, which disables page logging.  The string "%p %u %j
            %T %P %C %{job-billing} %{job-originating-host-name} %{job-name}  %{media}  %{sides}"
            creates a page log with the standard items.

       PassEnv variable [ ... variable ]
            Passes the specified environment variable(s) to child processes.

       <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 specified, job files are  preserved  for  the  indicated  number  of
            seconds after printing.  The default is "86400" (preserve 1 day).

       PreserveJobHistory Yes

       PreserveJobHistory No

       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".

       RIPCache size
            Specifies  the maximum amount of memory to use when converting documents into bitmaps
            for a printer.  The default is "128m".

       ServerAdmin email-address
            Specifies the email address of  the  server  administrator.   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 ServerAlias 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 2".  "Minor" reports "CUPS 2.0".  "Minimal" reports "CUPS 2.0.0".  "OS" reports
            "CUPS 2.0.0 (UNAME)" where UNAME is the  output  of  the  uname(1)  command.   "Full"
            reports "CUPS 2.0.0 (UNAME) IPP/2.0".  The default is "Minimal".

       SetEnv variable value
            Set the specified environment variable to be passed to child processes.

       SSLListen ipv4-address:port

       SSLListen [ipv6-address]:port

       SSLListen *:port
            Listens on the specified address and port for encrypted connections.

       SSLOptions [AllowRC4] [AllowSSL3]

       SSLOptions None
            Sets encryption options.  By default, CUPS only supports encryption using TLS v1.0 or
            higher using known secure cipher suites.  The AllowRC4 option enables the 128-bit RC4
            cipher  suites, which are required for some older clients that do not implement newer
            ones.  The AllowSSL3 option enables SSL  v3.0,  which  is  required  for  some  older
            clients that do not support TLS v1.0.

       SSLPort port
            Listens on the specified port for encrypted connections.

       StrictConformance Yes

       StrictConformance No
            Specifies  whether  the  scheduler  requires  clients  to  strictly adhere to the IPP
            specifications.  The default is "No".

       Timeout seconds
            Specifies the HTTP request timeout.  The default is "300" (5 minutes).

       WebInterface yes

       WebInterface no
            Specifies whether the web interface is enabled.  The default is "No".

   HTTP METHOD NAMES
       The following HTTP methods are supported by cupsd(8):

       GET  Used by a client to download icons and other printer resources and to access the CUPS
            web interface.

       HEAD Used by a client to get the type, size, and modification date of resources.

       OPTIONS
            Used by a client to establish a secure (SSL/TLS) connection.

       POST Used by a client to submit IPP requests and HTML forms from the CUPS web interface.

       PUT  Used by a client to upload configuration files.

   IPP OPERATION NAMES
       The following IPP operations are supported by cupsd(8):

       CUPS-Accept-Jobs
            Allows a printer to accept new jobs.

       CUPS-Add-Modify-Class
            Adds or modifies a printer class.

       CUPS-Add-Modify-Printer
            Adds or modifies a printer.

       CUPS-Authenticate-Job
            Releases a job that is held for authentication.

       CUPS-Delete-Class
            Deletes a printer class.

       CUPS-Delete-Printer
            Deletes a printer.

       CUPS-Get-Classes
            Gets a list of printer classes.

       CUPS-Get-Default
            Gets the server default printer or printer class.

       CUPS-Get-Devices
            Gets a list of devices that are currently available.

       CUPS-Get-Document
            Gets a document file for a job.

       CUPS-Get-PPD
            Gets a PPD file.

       CUPS-Get-PPDs
            Gets a list of installed PPD files.

       CUPS-Get-Printers
            Gets a list of printers.

       CUPS-Move-Job
            Moves a job.

       CUPS-Reject-Jobs
            Prevents a printer from accepting new jobs.

       CUPS-Set-Default
            Sets the server default printer or printer class.

       Cancel-Job
            Cancels a job.

       Cancel-Jobs
            Cancels one or more jobs.

       Cancel-My-Jobs
            Cancels one or more jobs creates by a user.

       Cancel-Subscription
            Cancels a subscription.

       Close-Job
            Closes a job that is waiting for more documents.

       Create-Job
            Creates a new job with no documents.

       Create-Job-Subscriptions
            Creates a subscription for job events.

       Create-Printer-Subscriptions
            Creates a subscription for printer events.

       Get-Job-Attributes
            Gets information about a job.

       Get-Jobs
            Gets a list of jobs.

       Get-Notifications
            Gets a list of event notifications for a subscription.

       Get-Printer-Attributes
            Gets information about a printer or printer class.

       Get-Subscription-Attributes
            Gets information about a subscription.

       Get-Subscriptions
            Gets a list of subscriptions.

       Hold-Job
            Holds a job from printing.

       Hold-New-Jobs
            Holds all new jobs from printing.

       Pause-Printer
            Stops processing of jobs by a printer or printer class.

       Pause-Printer-After-Current-Job
            Stops  processing  of  jobs  by  a  printer or printer class after the current job is
            finished.

       Print-Job
            Creates a new job with a single document.

       Purge-Jobs
            Cancels one or more jobs and deletes the job history.

       Release-Held-New-Jobs
            Allows previously held jobs to print.

       Release-Job
            Allows a job to print.

       Renew-Subscription
            Renews a subscription.

       Restart-Job
            Reprints a job, if possible.

       Send-Document
            Adds a document to a job.

       Set-Job-Attributes
            Changes job information.

       Set-Printer-Attributes
            Changes printer or printer class information.

       Validate-Job
            Validates options for a new job.

   LOCATION PATHS
       The following paths are commonly used when configuring cupsd(8):

       /    The path for all get operations (get-printers, get-jobs, etc.)

       /admin
            The path for  all  administration  operations  (add-printer,  delete-printer,  start-
            printer, etc.)

       /admin/conf
            The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)

       /admin/log
            The path for access to the CUPS log files (access_log, error_log, page_log)

       /classes
            The path for all printer classes

       /classes/name
            The resource for the named printer class

       /jobs
            The path for all jobs (hold-job, release-job, etc.)

       /jobs/id
            The path for the specified job.

       /printers
            The path for all printers

       /printers/name
            The path for the named printer

       /printers/name.png
            The icon file path for the named printer

       /printers/name.ppd
            The PPD file path for the named printer

   DIRECTIVES VALID WITHIN LOCATION AND LIMIT SECTIONS
       The  following  directives  may  be  placed  inside  Location  and  Limit  sections in the
       cupsd.conf file:

       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
            Allows access from the named hosts, domains, addresses,  or  interfaces.   The  Order
            directive controls whether Allow lines are evaluated before or after Deny lines.

       AuthType None

       AuthType Basic

       AuthType Default

       AuthType Negotiate
            Specifies  the  type  of authentication required.  The value "Default" corresponds to
            the DefaultAuthType value.

       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
            Denies access from the named hosts, domains, addresses,  or  interfaces.   The  Order
            directive controls whether Deny lines are evaluated before or after Allow lines.

       Encryption IfRequested

       Encryption Never

       Encryption Required
            Specifies  the  level  of encryption that is required for a particular location.  The
            default value is "IfRequested".

       Order allow,deny
            Specifies that access is denied by default. Allow lines are then  processed  followed
            by Deny lines to determine whether a client may access a particular resource.

       Order deny,allow
            Specifies  that  access is allowed by default. Deny lines are then processed followed
            by Allow lines to determine whether a client may access a particular resource.

       Require group group-name [ group-name ... ]
            Specifies that an authenticated user must be a member of one of the named groups.

       Require user {user-name|@group-name} ...
            Specifies that an authenticated user must match one of the named users or be a member
            of  one  of  the  named  groups.  The group name "@SYSTEM" corresponds to the list of
            groups defined by the SystemGroup directive  in  the  cups-files.conf(5)  file.   The
            group  name "@OWNER" corresponds to the owner of the resource, for example the person
            that submitted a print job.

       Require valid-user
            Specifies that any authenticated user is acceptable.

       Satisfy all
            Specifies that all Allow, AuthType, Deny,  Order,  and  Require  conditions  must  be
            satisfied to allow access.

       Satisfy any
            Specifies  that  any  a  client  may  access  a resource if either the authentication
            (AuthType/Require) or  address  (Allow/Deny/Order)  conditions  are  satisfied.   For
            example, this can be used to require authentication only for remote accesses.

   DIRECTIVES VALID WITHIN POLICY SECTIONS
       The following directives may be placed inside Policy sections in the cupsd.conf file:

       JobPrivateAccess all

       JobPrivateAccess default

       JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
            Specifies  an  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.   "@OWNER"  maps  to the job's owner.  "@SYSTEM"
            maps to the groups listed for the SystemGroup  directive  in  the  cups-files.conf(5)
            file.

       JobPrivateValues all

       JobPrivateValues default

       JobPrivateValues none

       JobPrivateValues attribute-name [ ... attribute-name ]
            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".

       SubscriptionPrivateAccess all

       SubscriptionPrivateAccess default

       SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
            Specifies an access list for a subscription'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.  "@OWNER" maps to the job's owner.   "@SYSTEM"
            maps  to  the  groups  listed for the SystemGroup directive in the cups-files.conf(5)
            file.

       SubscriptionPrivateValues all

       SubscriptionPrivateValues default

       SubscriptionPrivateValues none

       SubscriptionPrivateValues attribute-name [ ... attribute-name ]
            Specifies the list of subscription values to make private.  The "default" values  are
            "notify-events",  "notify-pull-method",  "notify-recipient-uri",  "notify-subscriber-
            user-name", and "notify-user-data".

CONFORMING TO

       The cupsd.conf file format is based on the Apache HTTP Server configuration file format.

EXAMPLES

       Log everything with a maximum log file size of 32 megabytes:

           AccessLogLevel all
           LogLevel debug2
           MaxLogSize 32m

       Require authentication for accesses from outside the 10. network:

           <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 Online Help (http://localhost:631/help)

COPYRIGHT

       Copyright © 2007-2015 by Apple Inc.