1cups-files.conf(5)                Apple Inc.                cups-files.conf(5)
2
3
4

NAME

6       cups-files.conf - file and directory configuration file for cups
7

DESCRIPTION

9       The  cups-files.conf  file configures the files and directories used by
10       the CUPS scheduler, cupsd(8).  It is normally located in the  /etc/cups
11       directory.
12
13       Each  line  in the file can be a configuration directive, a blank line,
14       or a comment.  Configuration directives typically consist of a name and
15       zero  or more values separated by whitespace.  The configuration direc‐
16       tive name and values are case-insensitive.  Comment  lines  start  with
17       the # character.
18
19   DIRECTIVES
20       The following directives are understood by cupsd(8):
21
22       AccessLog
23
24       AccessLog filename
25
26       AccessLog stderr
27
28       AccessLog syslog
29            Defines the access log filename.  Specifying a blank filename dis‐
30            ables access  log  generation.   The  value  "stderr"  causes  log
31            entries  to  be sent to the standard error file when the scheduler
32            is running in the foreground, or to the system log daemon when run
33            in  the  background.   The value "syslog" causes log entries to be
34            sent to the system log daemon.  The server name may be included in
35            filenames using the string "%s", for example:
36
37                AccessLog /var/log/cups/%s-access_log
38
39            The default is "/var/log/cups/access_log".
40
41       CacheDir directory
42            Specifies  the  directory  to use for long-lived temporary (cache)
43            files.     The    default    is     "/var/spool/cups/cache"     or
44            "/var/cache/cups" depending on the platform.
45
46       ConfigFilePerm mode
47            Specifies  the  permissions  for  all configuration files that the
48            scheduler writes.  The default is "0644" on macOS  and  "0640"  on
49            all other operating systems.
50
51       Note:  The  permissions for the printers.conf file are currently masked
52       to only allow access from the scheduler user (typically root).  This is
53       done  because printer device URIs sometimes contain sensitive authenti‐
54       cation information that should not be generally known  on  the  system.
55       There is no way to disable this security feature.
56
57       CreateSelfSignedCerts yes
58
59       CreateSelfSignedCerts no
60            Specifies  whether the scheduler automatically creates self-signed
61            certificates for client connections using  TLS.   The  default  is
62            yes.
63
64       DataDir path
65            Specifies  the  directory  where  data  files  can  be found.  The
66            default is usually "/usr/share/cups".
67
68       DocumentRoot directory
69            Specifies the root directory for the CUPS web  interface  content.
70            The default is usually "/usr/share/doc/cups".
71
72       ErrorLog
73
74       ErrorLog filename
75
76       ErrorLog stderr
77
78       ErrorLog syslog
79            Defines  the error log filename.  Specifying a blank filename dis‐
80            ables error log generation.  The value "stderr" causes log entries
81            to  be  sent to the standard error file when the scheduler is run‐
82            ning in the foreground, or to the system log daemon  when  run  in
83            the  background.  The value "syslog" causes log entries to be sent
84            to the system log daemon.  The server  name  may  be  included  in
85            filenames using the string "%s", for example:
86
87                ErrorLog /var/log/cups/%s-error_log
88
89            The default is "/var/log/cups/error_log".
90
91       FatalErrors none
92
93       FatalErrors all -kind [ ... -kind ]
94
95       FatalErrors kind [ ... kind ]
96            Specifies  which  errors are fatal, causing the scheduler to exit.
97            The default is "config".  The kind strings are:
98
99            none No errors are fatal.
100
101            all  All of the errors below are fatal.
102
103            browse
104                 Browsing initialization errors are fatal, for example  failed
105                 connections to the DNS-SD daemon.
106
107            config
108                 Configuration file syntax errors are fatal.
109
110            listen
111                 Listen  or Port errors are fatal, except for IPv6 failures on
112                 the loopback or "any" addresses.
113
114            log  Log file creation or write errors are fatal.
115
116            permissions
117                 Bad startup file permissions are fatal,  for  example  shared
118                 TLS certificate and key files with world-read permissions.
119
120       Group group-name-or-number
121            Specifies  the  group  name or ID that will be used when executing
122            external programs.  The default group is operating system specific
123            but is usually "lp" or "nobody".
124
125       LogFileGroup group-name-or-number
126            Specifies  the  group  name or ID that will be used for log files.
127            The default group is operating system specific but is usually "lp"
128            or "nobody".
129
130       LogFilePerm mode
131            Specifies  the  permissions  of  all  log files that the scheduler
132            writes.  The default is "0644".
133
134       PageLog [ filename ]
135
136       PageLog stderr
137
138       PageLog syslog
139            Defines the page log filename.   The  value  "stderr"  causes  log
140            entries  to  be sent to the standard error file when the scheduler
141            is running in the foreground, or to the system log daemon when run
142            in  the  background.   The value "syslog" causes log entries to be
143            sent to the system log daemon.  Specifying a blank  filename  dis‐
144            ables  page  log  generation.   The server name may be included in
145            filenames using the string "%s", for example:
146
147                PageLog /var/log/cups/%s-page_log
148
149            The default is "/var/log/cups/page_log".
150
151       PassEnv variable [ ... variable ]
152            Passes the specified environment variable(s) to  child  processes.
153            Note:  the  standard CUPS filter and backend environment variables
154            cannot be overridden using this directive.
155
156       RemoteRoot username
157            Specifies the username that  is  associated  with  unauthenticated
158            accesses  by clients claiming to be the root user.  The default is
159            "remroot".
160
161       RequestRoot directory
162            Specifies the directory that contains print jobs  and  other  HTTP
163            request data.  The default is "/var/spool/cups".
164
165       Sandboxing relaxed
166
167       Sandboxing strict
168            Specifies  the  level  of  security  sandboxing that is applied to
169            print filters, backends, and other child processes of  the  sched‐
170            uler.   The default is "strict".  This directive is currently only
171            used/supported on macOS.
172
173       ServerBin directory
174            Specifies the directory containing  the  backends,  CGI  programs,
175            filters,  helper  programs,  notifiers,  and  port  monitors.  The
176            default is "/usr/lib/cups" or "/usr/libexec/cups" depending on the
177            platform.
178
179       ServerKeychain path
180            Specifies  the location of TLS certificates and private keys.  The
181            default  is  "/Library/Keychains/System.keychain"  on  macOS   and
182            "/etc/cups/ssl"  on  all  other operating systems.  macOS uses its
183            keychain database to store certificates and keys while other plat‐
184            forms  use  separate  files  in the specified directory, *.crt for
185            PEM-encoded certificates and *.key for PEM-encoded private keys.
186
187       ServerRoot directory
188            Specifies the directory containing the server configuration files.
189            The default is "/etc/cups".
190
191       SetEnv variable value
192            Set  the specified environment variable to be passed to child pro‐
193            cesses.  Note: the standard CUPS filter  and  backend  environment
194            variables cannot be overridden using this directive.
195
196       StateDir directory
197            Specifies  the  directory  to  use  for  PID and local certificate
198            files.  The default is "/var/run/cups" or "/etc/cups" depending on
199            the platform.
200
201       SyncOnClose Yes
202
203       SyncOnClose No
204            Specifies  whether the scheduler calls fsync(2) after writing con‐
205            figuration or state files.
206
207       SystemGroup group-name [ ... group-name ]
208            Specifies the group(s) to use for  @SYSTEM  group  authentication.
209            The  default  contains  "admin",  "lpadmin", "root", "sys", and/or
210            "system".
211
212       TempDir directory
213            Specifies the  directory  where  short-term  temporary  files  are
214            stored.  The default is "/var/spool/cups/tmp".
215
216       User username
217            Specifies  the  user name or ID that is used when running external
218            programs.  The default is "lp".
219
220   DEPRECATED DIRECTIVES
221       The following directives are deprecated and  will  be  removed  from  a
222       future version of CUPS:
223
224       FileDevice Yes
225
226       FileDevice No
227            Specifies  whether  the  file  pseudo-device  can  be used for new
228            printer queues.  The URI  "file:///dev/null"  is  always  allowed.
229            File  devices  cannot be used with "raw" print queues - a PPD file
230            is required.  The specified file is overwritten  for  every  print
231            job.  Writing to directories is not supported.
232
233       FontPath directory[:...:directoryN]
234            Specifies a colon separated list of directories where fonts can be
235            found.  On Linux the font-config(1) mechanism is used instead.  On
236            macOS the Font Book application manages system-installed fonts.
237
238        LPDConfigFile filename
239            Specifies the LPD service configuration file to update.
240
241       Printcap filename
242            Specifies a file that is filled with a list of local print queues.
243
244       PrintcapFormat bsd
245
246       PrintcapFormat plist
247
248       PrintcapFormat solaris
249            Specifies  the  format to use for the Printcap file.  "bsd" is the
250            historical LPD printcap file format.  "plist" is the  Apple  plist
251            file  format.   "solaris"  is  the historical Solaris LPD printcap
252            file format.
253
254       SMBConfigFile filename
255            Specifies the SMB service configuration file to update.
256

NOTES

258       The scheduler MUST be restarted manually after making  changes  to  the
259       cups-files.conf  file.   On Linux this is typically done using the sys‐
260       temctl(8) command, while on macOS  the  launchctl(8)  command  is  used
261       instead.
262

SEE ALSO

264       classes.conf(5),   cups(1),   cupsd(8),  cupsd.conf(5),  mime.convs(5),
265       mime.types(5),  printers.conf(5),  subscriptions.conf(5),  CUPS  Online
266       Help (http://localhost:631/help)
267
269       Copyright © 2020 by Michael R Sweet
270       Copyright © 2007-2019 by Apple Inc.
271
272
273
27414 November 2020                     CUPS                   cups-files.conf(5)
Impressum