summaryrefslogtreecommitdiff
path: root/man/cups-files.conf.5
blob: b451e2f921b385c4f4c6ea8c79e91e78c7418869 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
.\"
.\" cups-files.conf man page for CUPS.
.\"
.\" Copyright © 2007-2019 by Apple Inc.
.\" Copyright © 1997-2006 by Easy Software Products.
.\"
.\" Licensed under Apache License v2.0.  See the file "LICENSE" for more
.\" information.
.\"
.TH cups-files.conf 5 "CUPS" "26 April 2019" "Apple Inc."
.SH NAME
cups\-files.conf \- file and directory configuration file for cups
.SH DESCRIPTION
The \fBcups\-files.conf\fR file configures the files and directories used by the CUPS scheduler,
.BR cupsd (8).
It is normally located in the \fI/etc/cups\fR directory.
.LP
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.
.SS DIRECTIVES
The following directives are understood by
.BR cupsd (8):
.\"#AccessLog
.TP 5
\fBAccessLog\fR
.TP 5
\fBAccessLog \fIfilename\fR
.TP 5
\fBAccessLog stderr\fR
.TP 5
\fBAccessLog syslog\fR
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:
.nf

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

.fi
The default is "/var/log/cups/access_log".
.\"#CacheDir
.TP 5
\fBCacheDir \fIdirectory\fR
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
.TP 5
\fBConfigFilePerm \fImode\fR
Specifies the permissions for all configuration files that the scheduler writes.
The default is "0644" on macOS and "0640" on all other operating systems.
.LP
\fBNote:\fR The permissions for the \fIprinters.conf\fR 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
.TP 5
\fBCreateSelfSignedCerts yes\fR
.TP 5
\fBCreateSelfSignedCerts no\fR
Specifies whether the scheduler automatically creates self-signed certificates for client connections using TLS.
The default is yes.
.\"#DataDir
.TP 5
\fBDataDir \fIpath\fR
Specifies the directory where data files can be found.
The default is usually "/usr/share/cups".
.\"#DocumentRoot
.TP 5
\fBDocumentRoot \fIdirectory\fR
Specifies the root directory for the CUPS web interface content.
The default is usually "/usr/share/doc/cups".
.\"#ErrorLog
.TP 5
\fBErrorLog\fR
.TP 5
\fBErrorLog \fIfilename\fR
.TP 5
\fBErrorLog stderr\fR
.TP 5
\fBErrorLog syslog\fR
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:
.nf

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

.fi
The default is "/var/log/cups/error_log".
.\"#FatalErrors
.TP 5
\fBFatalErrors none\fR
.TP 5
\fBFatalErrors all \fI\-kind \fR[ ... \fI\-kind \fR]
.TP 5
\fBFatalErrors \fIkind \fR[ ... \fIkind \fR]
Specifies which errors are fatal, causing the scheduler to exit.
The default is "config".
The \fIkind\fR strings are:
.RS 5
.TP 5
.B none
No errors are fatal.
.TP 5
.B all
All of the errors below are fatal.
.TP 5
.B browse
Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon.
.TP 5
.B config
Configuration file syntax errors are fatal.
.TP 5
.B listen
Listen or Port errors are fatal, except for IPv6 failures on the loopback or "any" addresses.
.TP 5
.B log
Log file creation or write errors are fatal.
.TP 5
.B permissions
Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions.
.RE
.\"#Group
.TP 5
\fBGroup \fIgroup-name-or-number\fR
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
.TP 5
\fBLogFilePerm \fImode\fR
Specifies the permissions of all log files that the scheduler writes.
The default is "0644".
.\"#PageLog
.TP 5
\fBPageLog \fR[ \fIfilename\fR ]
.TP 5
\fBPageLog stderr\fR
.TP 5
\fBPageLog syslog\fR
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:
.nf

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

.fi
The default is "/var/log/cups/page_log".
.\"#PassEnv
.TP 5
\fBPassEnv \fIvariable \fR[ ... \fIvariable \fR]
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
.TP 5
\fBRemoteRoot \fIusername\fR
Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user.
The default is "remroot".
.\"#RequestRoot
.TP 5
\fBRequestRoot \fIdirectory\fR
Specifies the directory that contains print jobs and other HTTP request data.
The default is "/var/spool/cups".
.\"#Sandboxing
.TP 5
\fBSandboxing relaxed\fR
.TP 5
\fBSandboxing strict\fR
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
.TP 5
\fBServerBin \fIdirectory\fR
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
.TP 5
\fBServerKeychain \fIpath\fR
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
.TP 5
\fBServerRoot \fIdirectory\fR
Specifies the directory containing the server configuration files.
The default is "/etc/cups".
.\"#SetEnv
.TP 5
\fBSetEnv \fIvariable value\fR
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
.TP 5
\fBStateDir \fIdirectory\fR
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
.TP 5
\fBSyncOnClose Yes\fR
.TP 5
\fBSyncOnClose No\fR
Specifies whether the scheduler calls
.BR fsync (2)
after writing configuration or state files.
The default is "No".
.\"#SystemGroup
.TP 5
\fBSystemGroup \fIgroup-name \fR[ ... \fIgroup-name\fR ]
Specifies the group(s) to use for \fI@SYSTEM\fR group authentication.
The default contains "admin", "lpadmin", "root", "sys", and/or "system".
.\"#TempDir
.TP 5
\fBTempDir \fIdirectory\fR
Specifies the directory where short-term temporary files are stored.
The default is "/var/spool/cups/tmp".
.\"#User
.TP 5
\fBUser \fIusername\fR
Specifies the user name or ID that is used when running external programs.
The default is "lp".
.SS DEPRECATED DIRECTIVES
The following directives are deprecated and will be removed from a future version of CUPS:
.\"#FileDevice
.TP 5
\fBFileDevice Yes\fR
.TP 5
\fBFileDevice No\fR
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
.TP 5
\fBFontPath \fIdirectory[:...:directoryN]\fR
Specifies a colon separated list of directories where fonts can be found.
On Linux the
.BR font-config (1)
mechanism is used instead.
On macOS the Font Book application manages system-installed fonts.
.\"#LPDConfigFile
.TP 5
\fB LPDConfigFile \fIfilename\fR
Specifies the LPD service configuration file to update.
.\"#Printcap
.TP 5
\fBPrintcap \fIfilename\fR
Specifies a file that is filled with a list of local print queues.
.\"#PrintcapFormat
.TP 5
\fBPrintcapFormat bsd\fR
.TP 5
\fBPrintcapFormat plist\fR
.TP 5
\fBPrintcapFormat solaris\fR
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
.TP 5
\fBSMBConfigFile \fIfilename\fR
Specifies the SMB service configuration file to update.
.SH NOTES
The scheduler MUST be restarted manually after making changes to the \fBcups-files.conf\fR file.
On Linux this is typically done using the
.BR systemctl (8)
command, while on macOS the
.BR launchctl (8)
command is used instead.
.SH SEE ALSO
.BR classes.conf (5),
.BR cups (1),
.BR cupsd (8),
.BR cupsd.conf (5),
.BR mime.convs (5),
.BR mime.types (5),
.BR printers.conf (5),
.BR subscriptions.conf (5),
CUPS Online Help (http://localhost:631/help)
.SH COPYRIGHT
Copyright \[co] 2007-2019 by Apple Inc.