1cups-files.conf(5) Apple Inc. cups-files.conf(5)
2
3
4
6 cups-files.conf - file and directory configuration file for cups
7
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
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
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)