]> git.ipfire.org Git - thirdparty/cups.git/blame - man/cupsd.conf.man.in
Fix local privilege escalation to root and sandbox bypasses in scheduler
[thirdparty/cups.git] / man / cupsd.conf.man.in
CommitLineData
ef416fc2 1.\"
e0660879 2.\" cupsd.conf man page for CUPS.
ef416fc2 3.\"
9135aedb
MS
4.\" Copyright © 2007-2018 by Apple Inc.
5.\" Copyright © 1997-2006 by Easy Software Products.
ef416fc2 6.\"
e0660879
MS
7.\" These coded instructions, statements, and computer programs are the
8.\" property of Apple Inc. and are protected by Federal copyright
9.\" law. Distribution and use rights are outlined in the file "LICENSE.txt"
10.\" which should have been included with this file. If this file is
11.\" file is missing or damaged, see the license at "http://www.cups.org/".
ef416fc2 12.\"
9135aedb 13.TH cupsd.conf 5 "CUPS" "24 April 2018" "Apple Inc."
ef416fc2 14.SH NAME
15cupsd.conf \- server configuration file for cups
16.SH DESCRIPTION
e0660879
MS
17The
18.I cupsd.conf
19file configures the CUPS scheduler,
20.BR cupsd (8).
2909c66c
MS
21It is normally located in the
22.I /etc/cups
25d0c3fe
MS
23directory.
24\fBNote:\fR File, directory, and user configuration directives that used to be allowed in the \fBcupsd.conf\fR file are now stored in the
25.BR cups-files.conf (5)
26file instead in order to prevent certain types of privilege escalation attacks.
ef416fc2 27.LP
25d0c3fe
MS
28Each line in the file can be a configuration directive, a blank line, or a comment.
29Configuration directives typically consist of a name and zero or more values separated by whitespace.
30The configuration directive name and values are case-insensitive.
31Comment lines start with the # character.
32.SS TOP-LEVEL DIRECTIVES
33The following top-level directives are understood by
34.BR cupsd (8):
37d9646b 35.\"#AccessLogLevel
ef416fc2 36.TP 5
25d0c3fe 37\fBAccessLogLevel config\fR
1f0275e3 38.TP 5
25d0c3fe 39\fBAccessLogLevel actions\fR
1f0275e3 40.TP 5
25d0c3fe 41\fBAccessLogLevel all\fR
1f0275e3 42Specifies the logging level for the AccessLog file.
25d0c3fe
MS
43The "config" level logs when printers and classes are added, deleted, or modified and when configuration files are accessed or updated.
44The "actions" level logs when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for "config".
45The "all" level logs all requests.
46The default access log level is "actions".
37d9646b 47.\"#AutoPurgeJobs
1f0275e3 48.TP 5
25d0c3fe 49\fBAutoPurgeJobs Yes\fR
bd7854cb 50.TP 5
25d0c3fe 51\fBAutoPurgeJobs No\fR
ef416fc2 52.br
25d0c3fe
MS
53Specifies whether to purge job history data automatically when it is no longer required for quotas.
54The default is "No".
37d9646b 55.\"#BrowseLocalProtocols
ef416fc2 56.TP 5
25d0c3fe 57\fBBrowseLocalProtocols all\fR
ef416fc2 58.TP 5
25d0c3fe 59\fBBrowseLocalProtocols dnssd\fR
b19ccc9e 60.TP 5
25d0c3fe
MS
61\fBBrowseLocalProtocols none\fR
62Specifies which protocols to use for local printer sharing.
63The default is "dnssd" on systems that support Bonjour and "none" otherwise.
37d9646b 64.\"#BrowseWebIF
25d0c3fe
MS
65.TP 5
66\fBBrowseWebIF Yes\fR
67.TP 5
68\fBBrowseWebIF No\fR
b19ccc9e 69.br
25d0c3fe
MS
70Specifies whether the CUPS web interface is advertised.
71The default is "No".
37d9646b 72.\"#Browsing
b19ccc9e 73.TP 5
25d0c3fe 74\fBBrowsing Yes\fR
bd7854cb 75.TP 5
25d0c3fe 76\fBBrowsing No\fR
ef416fc2 77.br
25d0c3fe
MS
78Specifies whether shared printers are advertised.
79The default is "No".
37d9646b 80.\"#DefaultAuthType
ef416fc2 81.TP 5
25d0c3fe 82\fBDefaultAuthType Basic\fR
bd7854cb 83.TP 5
25d0c3fe 84\fBDefaultAuthType Negotiate\fR
ef416fc2 85.br
86Specifies the default type of authentication to use.
25d0c3fe 87The default is "Basic".
37d9646b 88.\"#DefaultEncryption
ef416fc2 89.TP 5
25d0c3fe 90\fBDefaultEncryption Never\fR
8b450588 91.TP 5
25d0c3fe 92\fBDefaultEncryption IfRequested\fR
8b450588 93.TP 5
25d0c3fe
MS
94\fBDefaultEncryption Required\fR
95Specifies whether encryption will be used for authenticated requests.
96The default is "Required".
37d9646b 97.\"#DefaultLanguage
8b450588 98.TP 5
25d0c3fe 99\fBDefaultLanguage \fIlocale\fR
ef416fc2 100Specifies the default language to use for text and web content.
25d0c3fe 101The default is "en".
37d9646b 102.\"#DefaultPaperSize
ef416fc2 103.TP 5
25d0c3fe 104\fBDefaultPaperSize Auto\fR
49d87452 105.TP 5
25d0c3fe 106\fBDefaultPaperSize None\fR
49d87452 107.TP 5
25d0c3fe
MS
108\fBDefaultPaperSize \fIsizename\fR
109Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size.
110Specific size names are typically "Letter" or "A4".
111The default is "Auto".
37d9646b 112.\"#DefaultPolicy
49d87452 113.TP 5
25d0c3fe 114\fBDefaultPolicy \fIpolicy-name\fR
ef416fc2 115Specifies the default access policy to use.
25d0c3fe 116The default access policy is "default".
37d9646b 117.\"#DefaultShared
ef416fc2 118.TP 5
25d0c3fe 119\fBDefaultShared Yes\fR
3d052e43 120.TP 5
25d0c3fe 121\fBDefaultShared No\fR
3d052e43 122Specifies whether local printers are shared by default.
25d0c3fe 123The default is "Yes".
37d9646b 124.\"#DirtyCleanInterval
25d0c3fe
MS
125.TP 5
126\fBDirtyCleanInterval \fIseconds\fR
127Specifies the delay for updating of configuration and state files.
128A value of 0 causes the update to happen as soon as possible, typically within a few milliseconds.
129The default value is "30".
37d9646b 130.\"#ErrorPolicy
25d0c3fe 131.TP 5
053939b3
MS
132\fBErrorPolicy abort-job\fR
133Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer.
134.TP 5
9135aedb
MS
135\fBErrorPolicy retry-current-job\fR
136Specifies that a failed print job should be retried immediately unless otherwise specified for the printer.
137.TP 5
053939b3
MS
138\fBErrorPolicy retry-job\fR
139Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer.
140.TP 5
053939b3
MS
141\fBErrorPolicy stop-printer\fR
142Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default.
37d9646b 143.\"#FilterLimit
053939b3 144.TP 5
25d0c3fe
MS
145\fBFilterLimit \fIlimit\fR
146Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems.
147A limit of 0 disables filter limiting.
148An average print to a non-PostScript printer needs a filter limit of about 200.
149A PostScript printer needs about half that (100).
150Setting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time.
151The default limit is "0".
37d9646b 152.\"#FilterNice
25d0c3fe
MS
153.TP 5
154\fBFilterNice \fInice-value\fR
155Specifies the scheduling priority (
156.BR nice (8)
157value) of filters that are run to print a job.
158The nice value ranges from 0, the highest priority, to 19, the lowest priority.
159The default is 0.
37d9646b 160.\"#GSSServiceName
25d0c3fe
MS
161.TP 5
162\fBGSSServiceName \fIname\fR
163Specifies the service name when using Kerberos authentication.
164The default service name is "http."
165.TP 5
37d9646b 166.\"#HostNameLookups
25d0c3fe
MS
167\fBHostNameLookups On\fR
168.TP 5
169\fBHostNameLookups Off\fR
170.TP 5
171\fBHostNameLookups Double\fR
172Specifies whether to do reverse lookups on connecting clients.
173The "Double" setting causes
174.BR cupsd (8)
175to verify that the hostname resolved from the address matches one of the addresses returned for that hostname.
176Double lookups also prevent clients with unregistered addresses from connecting to your server.
177The default is "Off" to avoid the potential server performance problems with hostname lookups.
178Only set this option to "On" or "Double" if absolutely required.
c4412c12
BN
179.\"#IdleExitTimeout
180.TP 5
181\fBIdleExitTimeout \fIseconds\fR
08d027c3
MS
182Specifies the length of time to wait before shutting down due to inactivity.
183The default is "60" seconds.
184Note: Only applicable when
c4412c12
BN
185.BR cupsd (8)
186is run on-demand (e.g., with \fB-l\fR).
37d9646b 187.\"#JobKillDelay
25d0c3fe
MS
188.TP 5
189\fBJobKillDelay \fIseconds\fR
190Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job.
191The default is "30".
37d9646b 192.\"#JobRetryInterval
25d0c3fe
MS
193.TP 5
194\fBJobRetryInterval \fIseconds\fR
195Specifies the interval between retries of jobs in seconds.
196This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job".
197The default is "30".
37d9646b 198.\"#JobRetryLimit
3d052e43 199.TP 5
25d0c3fe
MS
200\fBJobRetryLimit \fIcount\fR
201Specifies the number of retries that are done for jobs.
202This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job".
203The default is "5".
37d9646b 204.\"#KeepAlive
4a4b4f99 205.TP 5
25d0c3fe 206\fBKeepAlive Yes\fR
ef416fc2 207.TP 5
25d0c3fe
MS
208\fBKeepAlive No\fR
209Specifies whether to support HTTP keep-alive connections.
210The default is "Yes".
37d9646b 211.\"#KeepAliveTimeout
ef416fc2 212.TP 5
25d0c3fe
MS
213\fBKeepAliveTimeout \fIseconds\fR
214Specifies how long an idle client connection remains open.
215The default is "30".
37d9646b 216.\"#LimitIPP
dcb445bc 217.TP 5
25d0c3fe 218\fB<Limit \fIoperation \fR...\fB> \fR... \fB</Limit>\fR
79c4c4ad 219Specifies the IPP operations that are being limited inside a Policy section. IPP operation names are listed below in the section "IPP OPERATION NAMES".
37d9646b 220.\"#Limit
bd7854cb 221.TP 5
25d0c3fe 222\fB<Limit \fImethod \fR...\fB> \fR... \fB</Limit>\fR
37d9646b 223.\"#LimitExcept
bd7854cb 224.TP 5
25d0c3fe 225\fB<LimitExcept \fImethod \fR...\fB> \fR... \fB</LimitExcept>\fR
79c4c4ad 226Specifies the HTTP methods that are being limited inside a Location section. HTTP method names are listed below in the section "HTTP METHOD NAMES".
37d9646b 227.\"#LimitRequestBody
ef416fc2 228.TP 5
25d0c3fe
MS
229\fBLimitRequestBody \fIsize\fR
230Specifies the maximum size of print files, IPP requests, and HTML form data.
231The default is "0" which disables the limit check.
37d9646b 232.\"#Listen
ef416fc2 233.TP 5
25d0c3fe 234\fBListen \fIipv4-address\fB:\fIport\fR
238c3832 235.TP 5
25d0c3fe 236\fBListen [\fIipv6-address\fB]:\fIport\fR
ef416fc2 237.TP 5
25d0c3fe 238\fBListen *:\fIport\fR
ef416fc2 239.TP 5
25d0c3fe
MS
240\fBListen \fI/path/to/domain/socket\fR
241Listens to the specified address and port or domain socket path for connections.
242Multiple Listen directives can be provided to listen on multiple addresses.
243The Listen directive is similar to the Port directive but allows you to restrict access to specific interfaces or networks.
37d9646b 244.\"#ListenBackLog
80ca4592 245.TP 5
25d0c3fe
MS
246\fBListenBackLog \fInumber\fR
247Specifies the number of pending connections that will be allowed.
248This normally only affects very busy servers that have reached the MaxClients limit, but can also be triggered by large numbers of simultaneous connections.
249When the limit is reached, the operating system will refuse additional connections until the scheduler can accept the pending ones.
250The default is the OS-defined default limit, typically either "5" for older operating systems or "128" for newer operating systems.
37d9646b 251.\"#Location
ef416fc2 252.TP 5
25d0c3fe
MS
253\fB<Location \fI/path\fB> \fR... \fB</Location>\fR
254Specifies access control for the named location.
255Paths are documented below in the section "LOCATION PATHS".
37d9646b 256.\"#LogDebugHistory
ef416fc2 257.TP 5
25d0c3fe
MS
258\fBLogDebugHistory \fInumber\fR
259Specifies the number of debugging messages that are retained for logging if an error occurs in a print job. Debug messages are logged regardless of the LogLevel setting.
37d9646b 260.\"#LogLevel
ef416fc2 261.TP 5
25d0c3fe 262\fBLogLevel \fRnone
ef416fc2 263.TP 5
25d0c3fe 264\fBLogLevel \fRemerg
ef416fc2 265.TP 5
25d0c3fe 266\fBLogLevel \fRalert
ef416fc2 267.TP 5
25d0c3fe 268\fBLogLevel \fRcrit
bd7854cb 269.TP 5
25d0c3fe 270\fBLogLevel \fRerror
ed486911 271.TP 5
25d0c3fe 272\fBLogLevel \fRwarn
ef416fc2 273.TP 5
25d0c3fe 274\fBLogLevel \fRnotice
ef416fc2 275.TP 5
25d0c3fe 276\fBLogLevel \fRinfo
178cb736 277.TP 5
25d0c3fe 278\fBLogLevel \fRdebug
bd7854cb 279.TP 5
25d0c3fe
MS
280\fBLogLevel \fRdebug2
281Specifies the level of logging for the ErrorLog file.
282The value "none" stops all logging while "debug2" logs everything.
283The default is "warn".
37d9646b 284.\"#LogTimeFormat
bd7854cb 285.TP 5
25d0c3fe 286\fBLogTimeFormat \fRstandard
bd7854cb 287.TP 5
25d0c3fe
MS
288\fBLogTimeFormat \fRusecs
289Specifies the format of the date and time in the log files.
290The value "standard" is the default and logs whole seconds while "usecs" logs microseconds.
37d9646b 291.\"#MaxClients
bd7854cb 292.TP 5
25d0c3fe
MS
293\fBMaxClients \fInumber\fR
294Specifies the maximum number of simultaneous clients that are allowed by the scheduler.
295The default is "100".
37d9646b 296.\"#MaxClientPerHost
bd7854cb 297.TP 5
25d0c3fe
MS
298\fBMaxClientsPerHost \fInumber\fR
299Specifies the maximum number of simultaneous clients that are allowed from a
300single address.
301The default is the MaxClients value.
37d9646b 302.\"#MaxCopies
bd7854cb 303.TP 5
25d0c3fe
MS
304\fBMaxCopies \fInumber\fR
305Specifies the maximum number of copies that a user can print of each job.
306The default is "9999".
37d9646b 307.\"#MaxHoldTime
25d0c3fe
MS
308.TP 5
309\fBMaxHoldTime \fIseconds\fR
310Specifies the maximum time a job may remain in the "indefinite" hold state before it is canceled.
311The default is "0" which disables cancellation of held jobs.
37d9646b 312.\"#MaxJobs
25d0c3fe
MS
313.TP 5
314\fBMaxJobs \fInumber\fR
315Specifies the maximum number of simultaneous jobs that are allowed.
316Set to "0" to allow an unlimited number of jobs.
317The default is "500".
37d9646b 318.\"#MaxJobsPerPrinter
25d0c3fe
MS
319.TP 5
320\fBMaxJobsPerPrinter \fInumber\fR
321Specifies the maximum number of simultaneous jobs that are allowed per printer.
322The default is "0" which allows up to MaxJobs jobs per printer.
37d9646b 323.\"#MaxJobsPerUser
25d0c3fe
MS
324.TP 5
325\fBMaxJobsPerUser \fInumber\fR
326Specifies the maximum number of simultaneous jobs that are allowed per user.
327The default is "0" which allows up to MaxJobs jobs per user.
37d9646b 328.\"#MaxJobTime
25d0c3fe
MS
329.TP 5
330\fBMaxJobTime \fIseconds\fR
331Specifies the maximum time a job may take to print before it is canceled.
332Set to "0" to disable cancellation of "stuck" jobs.
333The default is "10800" (3 hours).
37d9646b 334.\"#MaxLogSize
25d0c3fe
MS
335.TP 5
336\fBMaxLogSize \fIsize\fR
337Specifies the maximum size of the log files before they are rotated.
338The value "0" disables log rotation.
339The default is "1048576" (1MB).
37d9646b 340.\"#MultipleOperationTimeout
25d0c3fe
MS
341.TP 5
342\fBMultipleOperationTimeout \fIseconds\fR
343Specifies the maximum amount of time to allow between files in a multiple file print job.
344The default is "300" (5 minutes).
37d9646b 345.\"#Policy
bd7854cb 346.TP 5
25d0c3fe
MS
347\fB<Policy \fIname\fB> \fR... \fB</Policy>\fR
348Specifies access control for the named policy.
37d9646b 349.\"#Port
bd7854cb 350.TP 5
25d0c3fe
MS
351\fBPort \fInumber\fR
352Listens to the specified port number for connections.
37d9646b 353.\"#PreserveJobFiles
bd7854cb 354.TP 5
25d0c3fe 355\fBPreserveJobFiles Yes\fR
ef416fc2 356.TP 5
25d0c3fe 357\fBPreserveJobFiles No\fR
dfd5680b 358.TP 5
25d0c3fe
MS
359\fBPreserveJobFiles \fIseconds\fR
360Specifies whether job files (documents) are preserved after a job is printed.
361If a numeric value is specified, job files are preserved for the indicated number of seconds after printing.
362The default is "86400" (preserve 1 day).
37d9646b 363.\"#PreserveJobHistory
dfd5680b 364.TP 5
25d0c3fe 365\fBPreserveJobHistory Yes\fR
ef416fc2 366.TP 5
25d0c3fe 367\fBPreserveJobHistory No\fR
ef416fc2 368.TP 5
25d0c3fe
MS
369\fBPreserveJobHistory \fIseconds\fR
370Specifies whether the job history is preserved after a job is printed.
371If a numeric value is specified, the job history is preserved for the indicated number of seconds after printing.
372If "Yes", the job history is preserved until the MaxJobs limit is reached.
373The default is "Yes".
37d9646b 374.\"#ReloadTimeout
ef416fc2 375.TP 5
25d0c3fe
MS
376\fBReloadTimeout \fIseconds\fR
377Specifies the amount of time to wait for job completion before restarting the scheduler.
378The default is "30".
37d9646b 379.\"#ServerAdmin
ef416fc2 380.TP 5
25d0c3fe
MS
381\fBServerAdmin \fIemail-address\fR
382Specifies the email address of the server administrator.
383The default value is "root@ServerName".
37d9646b 384.\"#ServerAlias
ef416fc2 385.TP 5
25d0c3fe 386\fBServerAlias \fIhostname \fR[ ... \fIhostname \fR]
ef416fc2 387.TP 5
25d0c3fe
MS
388\fBServerAlias *\fR
389The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces.
390Using the special name "*" can expose your system to known browser-based DNS rebinding attacks, even when accessing sites through a firewall.
391If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a ServerAlias directive instead of using "*".
37d9646b 392.\"#ServerName
dcb445bc 393.TP 5
25d0c3fe
MS
394\fBServerName \fIhostname\fR
395Specifies the fully-qualified hostname of the server.
396The default is the value reported by the
397.BR hostname (1)
398command.
37d9646b 399.\"#ServerTokens
ef416fc2 400.TP 5
25d0c3fe 401\fBServerTokens None\fR
ef416fc2 402.TP 5
25d0c3fe 403\fBServerTokens ProductOnly\fR
dfd5680b 404.TP 5
25d0c3fe 405\fBServerTokens Major\fR
01ce6322 406.TP 5
25d0c3fe 407\fBServerTokens Minor\fR
ef416fc2 408.TP 5
25d0c3fe 409\fBServerTokens Minimal\fR
ef416fc2 410.TP 5
25d0c3fe 411\fBServerTokens OS\fR
ef416fc2 412.TP 5
25d0c3fe
MS
413\fBServerTokens Full\fR
414Specifies what information is included in the Server header of HTTP responses.
415"None" disables the Server header.
416"ProductOnly" reports "CUPS".
417"Major" reports "CUPS 2".
418"Minor" reports "CUPS 2.0".
419"Minimal" reports "CUPS 2.0.0".
053939b3 420"OS" reports "CUPS 2.0.0 (UNAME)" where UNAME is the output of the
25d0c3fe
MS
421.BR uname (1)
422command.
423"Full" reports "CUPS 2.0.0 (UNAME) IPP/2.0".
424The default is "Minimal".
37d9646b 425.\"#SSLListen
bd7854cb 426.TP 5
25d0c3fe 427\fBSSLListen \fIipv4-address\fB:\fIport\fR
ef416fc2 428.TP 5
25d0c3fe 429\fBSSLListen [\fIipv6-address\fB]:\fIport\fR
ef416fc2 430.TP 5
25d0c3fe
MS
431\fBSSLListen *:\fIport\fR
432Listens on the specified address and port for encrypted connections.
37d9646b 433.\"#SSLOptions
0af14961 434.TP 5
f2e87147 435\fBSSLOptions \fR[\fIAllowDH\fR] [\fIAllowRC4\fR] [\fIAllowSSL3\fR] [\fIDenyCBC\fR] [\fIDenyTLS1.0\fR]
63aefcd5
MS
436.TP 5
437\fBSSLOptions None\fR
438Sets encryption options.
439By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites.
02c88e67
MS
440Security is reduced when \fIAllow\fR options are used.
441Security is enhanced when \fIDeny\fR options are used.
442The \fIAllowDH\fR option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS).
443The \fIAllowRC4\fR option enables the 128-bit RC4 cipher suites, which are required for some older clients.
63aefcd5 444The \fIAllowSSL3\fR option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0.
f2e87147
MS
445The \fIDenyCBC\fR option disables all CBC cipher suites.
446The \fIDenyTLS1.0\fR option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1.
37d9646b 447.\"#SSLPort
63aefcd5 448.TP 5
25d0c3fe
MS
449\fBSSLPort \fIport\fR
450Listens on the specified port for encrypted connections.
37d9646b 451.\"#StrictConformance
ef416fc2 452.TP 5
25d0c3fe 453\fBStrictConformance Yes\fR
ef416fc2 454.TP 5
25d0c3fe
MS
455\fBStrictConformance No\fR
456Specifies whether the scheduler requires clients to strictly adhere to the IPP specifications.
457The default is "No".
37d9646b 458.\"#Timeout
ef416fc2 459.TP 5
25d0c3fe
MS
460\fBTimeout \fIseconds\fR
461Specifies the HTTP request timeout.
462The default is "300" (5 minutes).
37d9646b 463.\"#WebInterface
ef416fc2 464.TP 5
25d0c3fe 465\fBWebInterface yes\fR
ef416fc2 466.TP 5
25d0c3fe
MS
467\fBWebInterface no\fR
468Specifies whether the web interface is enabled.
469The default is "No".
470.SS HTTP METHOD NAMES
471The following HTTP methods are supported by
472.BR cupsd (8):
ef416fc2 473.TP 5
25d0c3fe
MS
474GET
475Used by a client to download icons and other printer resources and to access the CUPS web interface.
88f9aafc 476.TP 5
25d0c3fe
MS
477HEAD
478Used by a client to get the type, size, and modification date of resources.
e07d4801 479.TP 5
25d0c3fe
MS
480OPTIONS
481Used by a client to establish a secure (SSL/TLS) connection.
ef416fc2 482.TP 5
25d0c3fe
MS
483POST
484Used by a client to submit IPP requests and HTML forms from the CUPS web interface.
bd7854cb 485.TP 5
25d0c3fe
MS
486PUT
487Used by a client to upload configuration files.
488.SS IPP OPERATION NAMES
489The following IPP operations are supported by
490.BR cupsd (8):
bd7854cb 491.TP 5
25d0c3fe
MS
492CUPS\-Accept\-Jobs
493Allows a printer to accept new jobs.
bd7854cb 494.TP 5
25d0c3fe
MS
495CUPS\-Add\-Modify\-Class
496Adds or modifies a printer class.
bd7854cb 497.TP 5
25d0c3fe
MS
498CUPS\-Add\-Modify\-Printer
499Adds or modifies a printer.
bd7854cb 500.TP 5
25d0c3fe
MS
501CUPS\-Authenticate\-Job
502Releases a job that is held for authentication.
bd7854cb 503.TP 5
25d0c3fe
MS
504CUPS\-Delete\-Class
505Deletes a printer class.
ef416fc2 506.TP 5
25d0c3fe
MS
507CUPS\-Delete\-Printer
508Deletes a printer.
ef416fc2 509.TP 5
25d0c3fe
MS
510CUPS\-Get\-Classes
511Gets a list of printer classes.
ef416fc2 512.TP 5
25d0c3fe
MS
513CUPS\-Get\-Default
514Gets the server default printer or printer class.
ef416fc2 515.TP 5
25d0c3fe
MS
516CUPS\-Get\-Devices
517Gets a list of devices that are currently available.
a29fd7dd 518.TP 5
25d0c3fe
MS
519CUPS\-Get\-Document
520Gets a document file for a job.
a29fd7dd 521.TP 5
25d0c3fe
MS
522CUPS\-Get\-PPD
523Gets a PPD file.
e0660879 524.TP 5
25d0c3fe
MS
525CUPS\-Get\-PPDs
526Gets a list of installed PPD files.
e0660879 527.TP 5
25d0c3fe
MS
528CUPS\-Get\-Printers
529Gets a list of printers.
530.TP 5
531CUPS\-Move\-Job
532Moves a job.
533.TP 5
534CUPS\-Reject\-Jobs
535Prevents a printer from accepting new jobs.
536.TP 5
537CUPS\-Set\-Default
538Sets the server default printer or printer class.
539.TP 5
540Cancel\-Job
541Cancels a job.
542.TP 5
543Cancel\-Jobs
544Cancels one or more jobs.
545.TP 5
546Cancel\-My\-Jobs
547Cancels one or more jobs creates by a user.
548.TP 5
549Cancel\-Subscription
550Cancels a subscription.
551.TP 5
552Close\-Job
553Closes a job that is waiting for more documents.
554.TP 5
555Create\-Job
556Creates a new job with no documents.
557.TP 5
558Create\-Job\-Subscriptions
559Creates a subscription for job events.
560.TP 5
561Create\-Printer\-Subscriptions
562Creates a subscription for printer events.
563.TP 5
564Get\-Job\-Attributes
565Gets information about a job.
566.TP 5
567Get\-Jobs
568Gets a list of jobs.
569.TP 5
570Get\-Notifications
571Gets a list of event notifications for a subscription.
572.TP 5
573Get\-Printer\-Attributes
574Gets information about a printer or printer class.
575.TP 5
576Get\-Subscription\-Attributes
577Gets information about a subscription.
578.TP 5
579Get\-Subscriptions
580Gets a list of subscriptions.
581.TP 5
582Hold\-Job
583Holds a job from printing.
584.TP 5
585Hold\-New\-Jobs
586Holds all new jobs from printing.
587.TP 5
588Pause\-Printer
589Stops processing of jobs by a printer or printer class.
590.TP 5
591Pause\-Printer\-After\-Current\-Job
592Stops processing of jobs by a printer or printer class after the current job is finished.
593.TP 5
594Print\-Job
595Creates a new job with a single document.
596.TP 5
597Purge\-Jobs
598Cancels one or more jobs and deletes the job history.
599.TP 5
600Release\-Held\-New\-Jobs
601Allows previously held jobs to print.
602.TP 5
603Release\-Job
604Allows a job to print.
605.TP 5
606Renew\-Subscription
607Renews a subscription.
608.TP 5
609Restart\-Job
610Reprints a job, if possible.
611.TP 5
612Send\-Document
613Adds a document to a job.
614.TP 5
615Set\-Job\-Attributes
616Changes job information.
617.TP 5
618Set\-Printer\-Attributes
619Changes printer or printer class information.
620.TP 5
621Validate\-Job
622Validates options for a new job.
623.SS LOCATION PATHS
624The following paths are commonly used when configuring
625.BR cupsd (8):
626.TP 5
627/
628The path for all get operations (get-printers, get-jobs, etc.)
629.TP 5
630/admin
631The path for all administration operations (add-printer, delete-printer, start-printer, etc.)
632.TP 5
633/admin/conf
634The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)
635.TP 5
636/admin/log
637The path for access to the CUPS log files (access_log, error_log, page_log)
638.TP 5
639/classes
640The path for all printer classes
641.TP 5
642/classes/name
643The resource for the named printer class
644.TP 5
645/jobs
646The path for all jobs (hold-job, release-job, etc.)
647.TP 5
648/jobs/id
adffc545 649The path for the specified job
25d0c3fe
MS
650.TP 5
651/printers
652The path for all printers
653.TP 5
654/printers/name
655The path for the named printer
656.TP 5
657/printers/name.png
658The icon file path for the named printer
659.TP 5
660/printers/name.ppd
661The PPD file path for the named printer
662.SS DIRECTIVES VALID WITHIN LOCATION AND LIMIT SECTIONS
663The following directives may be placed inside Location and Limit sections in the \fBcupsd.conf\fR file:
664.TP 5
665\fBAllow all\fR
666.TP 5
667\fBAllow none\fR
668.TP 5
669\fBAllow \fIhost.domain.com\fR
670.TP 5
671\fBAllow *.\fIdomain.com\fR
672.TP 5
673\fBAllow \fIipv4-address\fR
674.TP 5
675\fBAllow \fIipv4-address\fB/\fInetmask\fR
676.TP 5
677\fBAllow \fIipv4-address\fB/\fImm\fR
e0660879 678.TP 5
25d0c3fe 679\fBAllow [\fIipv6-address\fB]\fR
e0660879 680.TP 5
25d0c3fe 681\fBAllow [\fIipv6-address\fB]/\fImm\fR
e0660879 682.TP 5
25d0c3fe 683\fBAllow @IF(\fIname\fB)\fR
e0660879 684.TP 5
25d0c3fe
MS
685\fBAllow @LOCAL\fR
686Allows access from the named hosts, domains, addresses, or interfaces.
687The Order directive controls whether Allow lines are evaluated before or after Deny lines.
e0660879 688.TP 5
25d0c3fe 689\fBAuthType None\fR
e0660879 690.TP 5
25d0c3fe 691\fBAuthType Basic\fR
e0660879 692.TP 5
25d0c3fe 693\fBAuthType Default\fR
e0660879 694.TP 5
25d0c3fe
MS
695\fBAuthType Negotiate\fR
696Specifies the type of authentication required.
697The value "Default" corresponds to the DefaultAuthType value.
e0660879 698.TP 5
25d0c3fe 699\fBDeny all\fR
e0660879 700.TP 5
25d0c3fe 701\fBDeny none\fR
e0660879 702.TP 5
25d0c3fe 703\fBDeny \fIhost.domain.com\fR
e0660879 704.TP 5
25d0c3fe 705\fBDeny *.\fIdomain.com\fR
e0660879 706.TP 5
25d0c3fe 707\fBDeny \fIipv4-address\fR
e0660879 708.TP 5
25d0c3fe 709\fBDeny \fIipv4-address\fB/\fInetmask\fR
e0660879 710.TP 5
25d0c3fe 711\fBDeny \fIipv4-address\fB/\fImm\fR
e0660879 712.TP 5
25d0c3fe 713\fBDeny [\fIipv6-address\fB]\fR
e0660879 714.TP 5
25d0c3fe 715\fBDeny [\fIipv6-address\fB]/\fImm\fR
e0660879 716.TP 5
25d0c3fe 717\fBDeny @IF(\fIname\fB)\fR
e0660879 718.TP 5
25d0c3fe
MS
719\fBDeny @LOCAL\fR
720Denies access from the named hosts, domains, addresses, or interfaces.
721The Order directive controls whether Deny lines are evaluated before or after Allow lines.
e0660879 722.TP 5
25d0c3fe 723\fBEncryption IfRequested\fR
e0660879 724.TP 5
25d0c3fe 725\fBEncryption Never\fR
e0660879 726.TP 5
25d0c3fe
MS
727\fBEncryption Required\fR
728Specifies the level of encryption that is required for a particular location.
729The default value is "IfRequested".
e0660879 730.TP 5
25d0c3fe
MS
731\fBOrder allow,deny\fR
732Specifies that access is denied by default. Allow lines are then processed followed by Deny lines to determine whether a client may access a particular resource.
e0660879 733.TP 5
25d0c3fe
MS
734\fBOrder deny,allow\fR
735Specifies that access is allowed by default. Deny lines are then processed followed by Allow lines to determine whether a client may access a particular resource.
e0660879 736.TP 5
25d0c3fe
MS
737\fBRequire group \fIgroup-name \fR[ \fIgroup-name \fR... ]
738Specifies that an authenticated user must be a member of one of the named groups.
e0660879 739.TP 5
25d0c3fe
MS
740\fBRequire user {\fIuser-name\fR|\fB@\fIgroup-name\fR} ...
741Specifies that an authenticated user must match one of the named users or be a member of one of the named groups.
742The group name "@SYSTEM" corresponds to the list of groups defined by the SystemGroup directive in the
743.BR cups-files.conf (5)
744file.
745The group name "@OWNER" corresponds to the owner of the resource, for example the person that submitted a print job.
f80e6f38 746Note: The 'root' user is not special and must be granted privileges like any other user account.
e0660879 747.TP 5
25d0c3fe
MS
748\fBRequire valid-user\fR
749Specifies that any authenticated user is acceptable.
e0660879 750.TP 5
25d0c3fe
MS
751\fBSatisfy all\fR
752Specifies that all Allow, AuthType, Deny, Order, and Require conditions must be satisfied to allow access.
e0660879 753.TP 5
25d0c3fe
MS
754\fBSatisfy any\fR
755Specifies that any a client may access a resource if either the authentication (AuthType/Require) or address (Allow/Deny/Order) conditions are satisfied.
756For example, this can be used to require authentication only for remote accesses.
757.SS DIRECTIVES VALID WITHIN POLICY SECTIONS
758The following directives may be placed inside Policy sections in the \fBcupsd.conf\fR file:
e0660879 759.TP 5
25d0c3fe 760\fBJobPrivateAccess all\fR
e0660879 761.TP 5
25d0c3fe 762\fBJobPrivateAccess default\fR
e0660879 763.TP 5
25d0c3fe
MS
764\fBJobPrivateAccess \fR{\fIuser\fR|\fB@\fIgroup\fR|\fB@ACL\fR|\fB@OWNER\fR|\fB@SYSTEM\fR} ...
765Specifies an access list for a job's private values.
766The "default" access list is "@OWNER @SYSTEM".
767"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values.
768"@OWNER" maps to the job's owner.
769"@SYSTEM" maps to the groups listed for the SystemGroup directive in the
770.BR cups-files.conf (5)
771file.
e0660879 772.TP 5
25d0c3fe 773\fBJobPrivateValues all\fR
e0660879 774.TP 5
25d0c3fe 775\fBJobPrivateValues default\fR
e0660879 776.TP 5
25d0c3fe 777\fBJobPrivateValues none\fR
e0660879 778.TP 5
25d0c3fe
MS
779\fBJobPrivateValues \fIattribute-name \fR[ ... \fIattribute-name \fR]
780Specifies the list of job values to make private.
781The "default" values are "job-name", "job-originating-host-name", "job-originating-user-name", and "phone".
e0660879 782.TP 5
25d0c3fe 783\fBSubscriptionPrivateAccess all\fR
10d09e33 784.TP 5
25d0c3fe 785\fBSubscriptionPrivateAccess default\fR
10d09e33 786.TP 5
25d0c3fe
MS
787\fBSubscriptionPrivateAccess \fR{\fIuser\fR|\fB@\fIgroup\fR|\fB@ACL\fR|\fB@OWNER\fR|\fB@SYSTEM\fR} ...
788Specifies an access list for a subscription's private values.
789The "default" access list is "@OWNER @SYSTEM".
790"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values.
791"@OWNER" maps to the job's owner.
792"@SYSTEM" maps to the groups listed for the SystemGroup directive in the
793.BR cups-files.conf (5)
794file.
10d09e33 795.TP 5
25d0c3fe 796\fBSubscriptionPrivateValues all\fR
10d09e33 797.TP 5
25d0c3fe 798\fBSubscriptionPrivateValues default\fR
10d09e33 799.TP 5
25d0c3fe 800\fBSubscriptionPrivateValues none\fR
10d09e33 801.TP 5
25d0c3fe
MS
802\fBSubscriptionPrivateValues \fIattribute-name \fR[ ... \fIattribute-name \fR]
803Specifies the list of subscription values to make private.
804The "default" values are "notify-events", "notify-pull-method", "notify-recipient-uri", "notify-subscriber-user-name", and "notify-user-data".
7c7347a3
MS
805.SS DEPRECATED DIRECTIVES
806The following directives are deprecated and will be removed in a future release of CUPS:
807.\"#Classification
808.TP 5
809\fBClassification \fIbanner\fR
810.br
811Specifies the security classification of the server.
812Any valid banner name can be used, including "classified", "confidential", "secret", "topsecret", and "unclassified", or the banner can be omitted to disable secure printing functions.
813The default is no classification banner.
814.\"#ClassifyOverride
815.TP 5
816\fBClassifyOverride Yes\fR
817.TP 5
818\fBClassifyOverride No\fR
819.br
820Specifies whether users may override the classification (cover page) of individual print jobs using the "job-sheets" option.
821The default is "No".
822.\"#PageLogFormat
823.TP 5
824\fBPageLogFormat \fIformat-string\fR
825Specifies the format of PageLog lines.
826Sequences beginning with percent (%) characters are replaced with the corresponding information, while all other characters are copied literally.
827The following percent sequences are recognized:
828.nf
829
830 "%%" inserts a single percent character.
831 "%{name}" inserts the value of the specified IPP attribute.
832 "%C" inserts the number of copies for the current page.
833 "%P" inserts the current page number.
834 "%T" inserts the current date and time in common log format.
835 "%j" inserts the job ID.
836 "%p" inserts the printer name.
837 "%u" inserts the username.
838
839.fi
840The default is the empty string, which disables page logging.
841The string "%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}" creates a page log with the standard items.
842.\"#RIPCache
843.TP 5
844\fBRIPCache \fIsize\fR
845Specifies the maximum amount of memory to use when converting documents into bitmaps for a printer.
846The default is "128m".
25d0c3fe
MS
847.SH CONFORMING TO
848The \fBcupsd.conf\fR file format is based on the Apache HTTP Server configuration file format.
849.SH EXAMPLES
850Log everything with a maximum log file size of 32 megabytes:
851.nf
852
853 AccessLogLevel all
854 LogLevel debug2
855 MaxLogSize 32m
856
857.fi
858Require authentication for accesses from outside the 10. network:
859.nf
860
861 <Location />
862 Order allow,deny
863 Allow from 10./8
864 AuthType Basic
865 Require valid-user
866 Satisfy any
867 </Location>
868.fi
ef416fc2 869.SH SEE ALSO
25d0c3fe
MS
870.BR classes.conf (5),
871.BR cups-files.conf (5),
872.BR cupsd (8),
873.BR mime.convs (5),
874.BR mime.types (5),
875.BR printers.conf (5),
876.BR subscriptions.conf (5),
877CUPS Online Help (http://localhost:631/help)
ef416fc2 878.SH COPYRIGHT
9135aedb 879Copyright \[co] 2007-2018 by Apple Inc.