cups-files.conf(5)                Apple Inc.                cups-files.conf(5)

NAME
       cups-files.conf - file and directory configuration file for cups

DESCRIPTION
       The cups-files.conf file configures the files and directories used by
       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 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.

   DIRECTIVES
       The following directives are understood by cupsd(8):

       AccessLog

       AccessLog filename

       AccessLog stderr

       AccessLog syslog
            Defines the access log filename.  Specifying a blank filename
            disables access log generation.  The value "stderr" causes log
            entries to be sent to the standard error file when the scheduler
            is running in the foreground, or to the system log daemon when run
            in the background.  The value "syslog" causes log entries to be
            sent to the system log daemon.  The server name may be included in
            filenames using the string "%s", for example:

                AccessLog /var/log/cups/%s-access_log

            The default is "/var/log/cups/access_log".

       CacheDir directory
            Specifies the directory to use for long-lived temporary (cache)
            files.  The default is "/var/spool/cups/cache" or
            "/var/cache/cups" depending on the platform.

       ConfigFilePerm mode
            Specifies the permissions for all configuration files that the
            scheduler writes.  The default is "0644" on macOS and "0640" on
            all other operating systems.

       Note: The permissions for the printers.conf file are currently masked
       to only allow access from the scheduler user (typically root).  This is
       done because printer device URIs sometimes contain sensitive
       authentication information that should not be generally known on the
       system.  There is no way to disable this security feature.

       CreateSelfSignedCerts yes

       CreateSelfSignedCerts no
            Specifies whether the scheduler automatically creates self-signed
            certificates for client connections using TLS.  The default is
            yes.

       DataDir path
            Specifies the directory where data files can be found.  The
            default is usually "/usr/share/cups".

       DocumentRoot directory
            Specifies the root directory for the CUPS web interface content.
            The default is usually "/usr/share/doc/cups".

       ErrorLog

       ErrorLog filename

       ErrorLog stderr

       ErrorLog syslog
            Defines the error log filename.  Specifying a blank filename
            disables error log generation.  The value "stderr" causes log
            entries to be sent to the standard error file when the scheduler
            is running in the foreground, or to the system log daemon when run
            in the background.  The value "syslog" causes log entries to be
            sent to the system log daemon.  The server name may be included in
            filenames using the string "%s", for example:

                ErrorLog /var/log/cups/%s-error_log

            The default is "/var/log/cups/error_log".

       FatalErrors none

       FatalErrors all -kind [ ... -kind ]

       FatalErrors kind [ ... kind ]
            Specifies which errors are fatal, causing the scheduler to exit.
            The default is "config".  The kind strings are:

            none No errors are fatal.

            all  All of the errors below are fatal.

            browse
                 Browsing initialization errors are fatal, for example failed
                 connections to the DNS-SD daemon.

            config
                 Configuration file syntax errors are fatal.

            listen
                 Listen or Port errors are fatal, except for IPv6 failures on
                 the loopback or "any" addresses.

            log  Log file creation or write errors are fatal.

            permissions
                 Bad startup file permissions are fatal, for example shared
                 TLS certificate and key files with world-read permissions.

       Group group-name-or-number
            Specifies the group name or ID that will be used when executing
            external programs.  The default group is operating system specific
            but is usually "lp" or "nobody".

       LogFilePerm mode
            Specifies the permissions of all log files that the scheduler
            writes.  The default is "0644".

       PageLog [ filename ]

       PageLog stderr

       PageLog syslog
            Defines the page log filename.  The value "stderr" causes log
            entries to be sent to the standard error file when the scheduler
            is running in the foreground, or to the system log daemon when run
            in the background.  The value "syslog" causes log entries to be
            sent to the system log daemon.  Specifying a blank filename
            disables page log generation.  The server name may be included in
            filenames using the string "%s", for example:

                PageLog /var/log/cups/%s-page_log

            The default is "/var/log/cups/page_log".

       PassEnv variable [ ... variable ]
            Passes the specified environment variable(s) to child processes.
            Note: the standard CUPS filter and backend environment variables
            cannot be overridden using this directive.

       RemoteRoot username
            Specifies the username that is associated with unauthenticated
            accesses by clients claiming to be the root user.  The default is
            "remroot".

       RequestRoot directory
            Specifies the directory that contains print jobs and other HTTP
            request data.  The default is "/var/spool/cups".

       Sandboxing relaxed

       Sandboxing strict
            Specifies the level of security sandboxing that is applied to
            print filters, backends, and other child processes of the
            scheduler.  The default is "strict".  This directive is currently
            only used/supported on macOS.

       ServerBin directory
            Specifies the directory containing the backends, CGI programs,
            filters, helper programs, notifiers, and port monitors.  The
            default is "/usr/lib/cups" or "/usr/libexec/cups" depending on the
            platform.

       ServerKeychain path
            Specifies the location of TLS certificates and private keys.  The
            default is "/Library/Keychains/System.keychain" on macOS and
            "/etc/cups/ssl" on all other operating systems.  macOS uses its
            keychain database to store certificates and keys while other
            platforms use separate files in the specified directory, *.crt for
            PEM-encoded certificates and *.key for PEM-encoded private keys.

       ServerRoot directory
            Specifies the directory containing the server configuration files.
            The default is "/etc/cups".

       SetEnv variable value
            Set the specified environment variable to be passed to child
            processes.  Note: the standard CUPS filter and backend environment
            variables cannot be overridden using this directive.

       StateDir directory
            Specifies the directory to use for PID and local certificate
            files.  The default is "/var/run/cups" or "/etc/cups" depending on
            the platform.

       SyncOnClose Yes

       SyncOnClose No
            Specifies whether the scheduler calls fsync(2) after writing
            configuration or state files.  The default is "No".

       SystemGroup group-name [ ... group-name ]
            Specifies the group(s) to use for @SYSTEM group authentication.
            The default contains "admin", "lpadmin", "root", "sys", and/or
            "system".

       TempDir directory
            Specifies the directory where short-term temporary files are
            stored.  The default is "/var/spool/cups/tmp".

       User username
            Specifies the user name or ID that is used when running external
            programs.  The default is "lp".

   DEPRECATED DIRECTIVES
       The following directives are deprecated and will be removed from a
       future version of CUPS:

       FileDevice Yes

       FileDevice No
            Specifies whether the file pseudo-device can be used for new
            printer queues.  The URI "file:///dev/null" is always allowed.
            File devices cannot be used with "raw" print queues - a PPD file
            is required.  The specified file is overwritten for every print
            job.  Writing to directories is not supported.

       FontPath directory[:...:directoryN]
            Specifies a colon separated list of directories where fonts can be
            found.  On Linux the font-config(1) mechanism is used instead.  On
            macOS the Font Book application manages system-installed fonts.

        LPDConfigFile filename
            Specifies the LPD service configuration file to update.

       Printcap filename
            Specifies a file that is filled with a list of local print queues.

       PrintcapFormat bsd

       PrintcapFormat plist

       PrintcapFormat solaris
            Specifies the format to use for the Printcap file.  "bsd" is the
            historical LPD printcap file format.  "plist" is the Apple plist
            file format.  "solaris" is the historical Solaris LPD printcap
            file format.

       SMBConfigFile filename
            Specifies the SMB service configuration file to update.

NOTES
       The scheduler MUST be restarted manually after making changes to the
       cups-files.conf file.  On Linux this is typically done using the
       systemctl(8) command, while on macOS the launchctl(8) command is used
       instead.

SEE ALSO
       classes.conf(5), cups(1), cupsd(8), cupsd.conf(5), mime.convs(5),
       mime.types(5), printers.conf(5), subscriptions.conf(5), CUPS Online
       Help (http://localhost:631/help)

COPYRIGHT
       Copyright © 2007-2019 by Apple Inc.

26 April 2019                        CUPS                   cups-files.conf(5)