839cde96fc4f009cbfc2b34832e584f38e782437
[thirdparty/cups.git] / man / cups-files.conf.man.in
1 .\"
2 .\" cups-files.conf man page for CUPS.
3 .\"
4 .\" Copyright © 2007-2018 by Apple Inc.
5 .\" Copyright © 1997-2006 by Easy Software Products.
6 .\"
7 .\" Licensed under Apache License v2.0.  See the file "LICENSE" for more
8 .\" information.
9 .\"
10 .TH cups-files.conf 5 "CUPS" "8 November 2018" "Apple Inc."
11 .SH NAME
12 cups\-files.conf \- file and directory configuration file for cups
13 .SH DESCRIPTION
14 The \fBcups\-files.conf\fR file configures the files and directories used by the CUPS scheduler,
15 .BR cupsd (8).
16 It is normally located in the \fI/etc/cups\fR directory.
17 .LP
18 Each line in the file can be a configuration directive, a blank line, or a comment.
19 Configuration directives typically consist of a name and zero or more values separated by whitespace.
20 The configuration directive name and values are case-insensitive.
21 Comment lines start with the # character.
22 .SS DIRECTIVES
23 The following directives are understood by
24 .BR cupsd (8):
25 .\"#AccessLog
26 .TP 5
27 \fBAccessLog\fR
28 .TP 5
29 \fBAccessLog \fIfilename\fR
30 .TP 5
31 \fBAccessLog stderr\fR
32 .TP 5
33 \fBAccessLog syslog\fR
34 Defines the access log filename.
35 Specifying a blank filename disables access log generation.
36 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.
37 The value "syslog" causes log entries to be sent to the system log daemon.
38 The server name may be included in filenames using the string "%s", for example:
39 .nf
40
41     AccessLog /var/log/cups/%s-access_log
42
43 .fi
44 The default is "/var/log/cups/access_log".
45 .\"#CacheDir
46 .TP 5
47 \fBCacheDir \fIdirectory\fR
48 Specifies the directory to use for long-lived temporary (cache) files.
49 The default is "/var/spool/cups/cache" or "/var/cache/cups" depending on the platform.
50 .\"#ConfigFilePerm
51 .TP 5
52 \fBConfigFilePerm \fImode\fR
53 Specifies the permissions for all configuration files that the scheduler writes.
54 The default is "0644" on macOS and "0640" on all other operating systems.
55 .LP
56 \fBNote:\fR The permissions for the \fIprinters.conf\fR file are currently masked to only allow access from the scheduler user (typically root).
57 This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally known on the system.
58 There is no way to disable this security feature.
59 .\"#CreateSelfSignedCerts
60 .TP 5
61 \fBCreateSelfSignedCerts yes\fR
62 .TP 5
63 \fBCreateSelfSignedCerts no\fR
64 Specifies whether the scheduler automatically creates self-signed certificates for client connections using TLS.
65 The default is yes.
66 .\"#DataDir
67 .TP 5
68 \fBDataDir \fIpath\fR
69 Specifies the directory where data files can be found.
70 The default is usually "/usr/share/cups".
71 .\"#DocumentRoot
72 .TP 5
73 \fBDocumentRoot \fIdirectory\fR
74 Specifies the root directory for the CUPS web interface content.
75 The default is usually "/usr/share/doc/cups".
76 .\"#ErrorLog
77 .TP 5
78 \fBErrorLog\fR
79 .TP 5
80 \fBErrorLog \fIfilename\fR
81 .TP 5
82 \fBErrorLog stderr\fR
83 .TP 5
84 \fBErrorLog syslog\fR
85 Defines the error log filename.
86 Specifying a blank filename disables error log generation.
87 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.
88 The value "syslog" causes log entries to be sent to the system log daemon.
89 The server name may be included in filenames using the string "%s", for example:
90 .nf
91
92     ErrorLog /var/log/cups/%s-error_log
93
94 .fi
95 The default is "/var/log/cups/error_log".
96 .\"#FatalErrors
97 .TP 5
98 \fBFatalErrors none\fR
99 .TP 5
100 \fBFatalErrors all \fI\-kind \fR[ ... \fI\-kind \fR]
101 .TP 5
102 \fBFatalErrors \fIkind \fR[ ... \fIkind \fR]
103 Specifies which errors are fatal, causing the scheduler to exit.
104 The default is "config".
105 The \fIkind\fR strings are:
106 .RS 5
107 .TP 5
108 .B none
109 No errors are fatal.
110 .TP 5
111 .B all
112 All of the errors below are fatal.
113 .TP 5
114 .B browse
115 Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon.
116 .TP 5
117 .B config
118 Configuration file syntax errors are fatal.
119 .TP 5
120 .B listen
121 Listen or Port errors are fatal, except for IPv6 failures on the loopback or "any" addresses.
122 .TP 5
123 .B log
124 Log file creation or write errors are fatal.
125 .TP 5
126 .B permissions
127 Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions.
128 .RE
129 .\"#Group
130 .TP 5
131 \fBGroup \fIgroup-name-or-number\fR
132 Specifies the group name or ID that will be used when executing external programs.
133 The default group is operating system specific but is usually "lp" or "nobody".
134 .\"#LogFilePerm
135 .TP 5
136 \fBLogFilePerm \fImode\fR
137 Specifies the permissions of all log files that the scheduler writes.
138 The default is "0644".
139 .\"#PageLog
140 .TP 5
141 \fBPageLog \fR[ \fIfilename\fR ]
142 .TP 5
143 \fBPageLog stderr\fR
144 .TP 5
145 \fBPageLog syslog\fR
146 Defines the page log filename.
147 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.
148 The value "syslog" causes log entries to be sent to the system log daemon.
149 Specifying a blank filename disables page log generation.
150 The server name may be included in filenames using the string "%s", for example:
151 .nf
152
153     PageLog /var/log/cups/%s-page_log
154
155 .fi
156 The default is "/var/log/cups/page_log".
157 .\"#PassEnv
158 .TP 5
159 \fBPassEnv \fIvariable \fR[ ... \fIvariable \fR]
160 Passes the specified environment variable(s) to child processes.
161 Note: the standard CUPS filter and backend environment variables cannot be overridden using this directive.
162 .\"#RemoteRoot
163 .TP 5
164 \fBRemoteRoot \fIusername\fR
165 Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user.
166 The default is "remroot".
167 .\"#RequestRoot
168 .TP 5
169 \fBRequestRoot \fIdirectory\fR
170 Specifies the directory that contains print jobs and other HTTP request data.
171 The default is "/var/spool/cups".
172 .\"#Sandboxing
173 .TP 5
174 \fBSandboxing relaxed\fR
175 .TP 5
176 \fBSandboxing strict\fR
177 Specifies the level of security sandboxing that is applied to print filters, backends, and other child processes of the scheduler.
178 The default is "strict".
179 This directive is currently only used/supported on macOS.
180 .\"#ServerBin
181 .TP 5
182 \fBServerBin \fIdirectory\fR
183 Specifies the directory containing the backends, CGI programs, filters, helper programs, notifiers, and port monitors.
184 The default is "/usr/lib/cups" or "/usr/libexec/cups" depending on the platform.
185 .\"#ServerKeychain
186 .TP 5
187 \fBServerKeychain \fIpath\fR
188 Specifies the location of TLS certificates and private keys.
189 The default is "/Library/Keychains/System.keychain" on macOS and "/etc/cups/ssl" on all other operating systems.
190 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.
191 .\"#ServerRoot
192 .TP 5
193 \fBServerRoot \fIdirectory\fR
194 Specifies the directory containing the server configuration files.
195 The default is "/etc/cups".
196 .\"#SetEnv
197 .TP 5
198 \fBSetEnv \fIvariable value\fR
199 Set the specified environment variable to be passed to child processes.
200 Note: the standard CUPS filter and backend environment variables cannot be overridden using this directive.
201 .\"#StateDir
202 .TP 5
203 \fBStateDir \fIdirectory\fR
204 Specifies the directory to use for PID and local certificate files.
205 The default is "/var/run/cups" or "/etc/cups" depending on the platform.
206 .\"#SyncOnClose
207 .TP 5
208 \fBSyncOnClose Yes\fR
209 .TP 5
210 \fBSyncOnClose No\fR
211 Specifies whether the scheduler calls
212 .BR fsync (2)
213 after writing configuration or state files.
214 The default is "No".
215 .\"#SystemGroup
216 .TP 5
217 \fBSystemGroup \fIgroup-name \fR[ ... \fIgroup-name\fR ]
218 Specifies the group(s) to use for \fI@SYSTEM\fR group authentication.
219 The default contains "admin", "lpadmin", "root", "sys", and/or "system".
220 .\"#TempDir
221 .TP 5
222 \fBTempDir \fIdirectory\fR
223 Specifies the directory where short-term temporary files are stored.
224 The default is "/var/spool/cups/tmp".
225 .\"#User
226 .TP 5
227 \fBUser \fIusername\fR
228 Specifies the user name or ID that is used when running external programs.
229 The default is "lp".
230 .SS DEPRECATED DIRECTIVES
231 The following directives are deprecated and will be removed from a future version of CUPS:
232 .\"#FileDevice
233 .TP 5
234 \fBFileDevice Yes\fR
235 .TP 5
236 \fBFileDevice No\fR
237 Specifies whether the file pseudo-device can be used for new printer queues.
238 The URI "file:///dev/null" is always allowed.
239 File devices cannot be used with "raw" print queues - a PPD file is required.
240 The specified file is overwritten for every print job.
241 Writing to directories is not supported.
242 .\"#FontPath
243 .TP 5
244 \fBFontPath \fIdirectory[:...:directoryN]\fR
245 Specifies a colon separated list of directories where fonts can be found.
246 On Linux the
247 .BR font-config (1)
248 mechanism is used instead.
249 On macOS the Font Book application manages system-installed fonts.
250 .\"#LPDConfigFile
251 .TP 5
252 \fB LPDConfigFile \fIfilename\fR
253 Specifies the LPD service configuration file to update.
254 .\"#Printcap
255 .TP 5
256 \fBPrintcap \fIfilename\fR
257 Specifies a file that is filled with a list of local print queues.
258 .\"#PrintcapFormat
259 .TP 5
260 \fBPrintcapFormat bsd\fR
261 .TP 5
262 \fBPrintcapFormat plist\fR
263 .TP 5
264 \fBPrintcapFormat solaris\fR
265 Specifies the format to use for the Printcap file.
266 "bsd" is the historical LPD printcap file format.
267 "plist" is the Apple plist file format.
268 "solaris" is the historical Solaris LPD printcap file format.
269 .\"#SMBConfigFile
270 .TP 5
271 \fBSMBConfigFile \fIfilename\fR
272 Specifies the SMB service configuration file to update.
273 .SH NOTES
274 The scheduler MUST be restarted manually after making changes to the \fBcups-files.conf\fR file.
275 On Linux this is typically done using the
276 .BR systemctl (8)
277 command, while on macOS the
278 .BR launchctl (8)
279 command is used instead.
280 .SH SEE ALSO
281 .BR classes.conf (5),
282 .BR cups (1),
283 .BR cupsd (8),
284 .BR cupsd.conf (5),
285 .BR mime.convs (5),
286 .BR mime.types (5),
287 .BR printers.conf (5),
288 .BR subscriptions.conf (5),
289 CUPS Online Help (http://localhost:631/help)
290 .SH COPYRIGHT
291 Copyright \[co] 2007-2018 by Apple Inc.