]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/cupsd-conf-reference.html
Load cups into easysw/current.
[thirdparty/cups.git] / doc / help / cupsd-conf-reference.html
CommitLineData
ef416fc2 1<HTML>
2<!-- SECTION: References -->
3<HEAD>
4 <TITLE>cupsd.conf</TITLE>
5</HEAD>
6<BODY>
7
bd7854cb 8<!-- MISSING:
9
b423cd4c 10BrowseLDAPBindDN
11BrowseLDAPDN
12BrowseLDAPPassword
13BrowseLDAPServer
bd7854cb 14BrowseLocalProtocols
15BrowseRemoteProtocols
16DefaultAuthType
17DefaultPolicy
18FilterNice
19JobRetryInterval
20JobRetryLimit
21PassEnv
22Policy
23ServerTokens
24SetEnv
25
26-->
27
ef416fc2 28<P>The <VAR>/etc/cups/cupsd.conf</VAR> file contains
29configuration <I>directives</I> that control how the server
30functions. Each directive is listed on a line by itself followed
31by its value. Comments are introduced using the number sign ("#")
32character at the beginning of a line.</P>
33
34<P>Since the server configuration file consists of plain text,
35you can use your favorite text editor to make changes to it.
36After making any changes, restart the <CODE>cupsd(8)</CODE>
37process using the startup script for your operating system:</P>
38
39<UL>
40
41 <LI>AIX:
42 <PRE CLASS="command">
43/etc/init.d/cups restart
44 </PRE></LI>
45
46 <LI>HP-UX:
47 <PRE CLASS="command">
48/sbin/init.d/cups restart
49 </PRE></LI>
50
51 <LI>IRIX:
52 <PRE CLASS="command">
53/etc/init.d/cups restart
54 </PRE></LI>
55
56 <LI>Linux:
57 <PRE CLASS="command">
58/etc/init.d/cups restart
59 </PRE></LI>
60
61 <LI>MacOS X:
62 <PRE CLASS="command">
63/System/Library/StartupItems/PrintingServices/PrintingServices restart
64 </PRE></LI>
65
66 <LI>Solaris:
67 <PRE CLASS="command">
68/etc/init.d/cups restart
69 </PRE></LI>
70
71</UL>
72
73<P>You can also edit this file from the CUPS web interface, which
74automatically handles restarting the scheduler.</P>
75
76
77<H3 CLASS="title"><A NAME="AccessLog">AccessLog</A></H3>
78
79<H4>Examples</H4>
80
81<PRE CLASS="command">
82AccessLog /var/log/cups/access_log
83AccessLog /var/log/cups/access_log-%s
84AccessLog syslog
85</PRE>
86
87<H4>Description</H4>
88
89<P>The <CODE>AccessLog</CODE> directive sets the name of the
90access log file. If the filename is not absolute then it is
91assumed to be relative to the <A
92HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
93access log file is stored in "common log format" and can be used
94by any web access reporting tool to generate a report on CUPS
95server activity.</P>
96
97<P>The server name can be included in the filename by using
98<CODE>%s</CODE> in the name.</P>
99
100<P>The special name "syslog" can be used to send the access
101information to the system log instead of a plain file.</P>
102
103<P>The default access log file is
104<VAR>/var/log/cups/access_log</VAR>.</P>
105
106
107<H3 CLASS="title"><A NAME="Allow">Allow</A></H3>
108
109<H4>Examples</H4>
110
111<PRE CLASS="command">
112Allow from All
113Allow from None
114Allow from *.domain.com
115Allow from .domain.com
116Allow from host.domain.com
117Allow from nnn.*
118Allow from nnn.nnn.*
119Allow from nnn.nnn.nnn.*
120Allow from nnn.nnn.nnn.nnn
121Allow from nnn.nnn.nnn.nnn/mm
122Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
123Allow from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
124Allow from @LOCAL
125Allow from @IF(name)
126</PRE>
127
128<H4>Description</H4>
129
130<P>The <CODE>Allow</CODE> directive specifies a hostname, IP address,
131or network that is allowed access to the server. <CODE>Allow</CODE>
132directives are cummulative, so multiple <CODE>Allow</CODE> directives
133can be used to allow access for multiple hosts or networks. The
134<CODE>/mm</CODE> notation specifies a CIDR netmask:</P>
135
136<DIV CLASS="table"><TABLE>
137<TR>
138 <TH WIDTH="10%">mm</TH>
139 <TH WIDTH="20%">netmask</TH>
140 <TH WIDTH="10%">mm</TH>
141 <TH WIDTH="20%">netmask</TH>
142</TR>
143<TR>
144 <TD ALIGN="CENTER">0</TD>
145 <TD ALIGN="CENTER">0.0.0.0</TD>
146 <TD ALIGN="CENTER">8</TD>
147 <TD ALIGN="CENTER">255.0.0.0</TD>
148</TR>
149<TR>
150 <TD ALIGN="CENTER">1</TD>
151 <TD ALIGN="CENTER">128.0.0.0</TD>
152 <TD ALIGN="CENTER">16</TD>
153 <TD ALIGN="CENTER">255.255.0.0</TD>
154</TR>
155<TR>
156 <TD ALIGN="CENTER">2</TD>
157 <TD ALIGN="CENTER">192.0.0.0</TD>
158 <TD ALIGN="CENTER">24</TD>
159 <TD ALIGN="CENTER">255.255.255.0</TD>
160</TR>
161<TR>
162 <TD ALIGN="CENTER">...</TD>
163 <TD ALIGN="CENTER">...</TD>
164 <TD ALIGN="CENTER">32</TD>
165 <TD ALIGN="CENTER">255.255.255.255</TD>
166</TR>
167</TABLE></DIV>
168
169<P>The <CODE>@LOCAL</CODE> name will allow access from all local
170interfaces. The <CODE>@IF(name)</CODE> name will allow access
171from the named interface.</P>
172
173<P>The <CODE>Allow</CODE> directive must appear inside a <A
174HREF="#Location"><CODE>Location</CODE></A> directive.</P>
175
176
177<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H3>
178
179<H4>Examples</H4>
180
181<PRE CLASS="command">
182AuthClass Anonymous
183AuthClass User
184AuthClass System
185AuthClass Group
186</PRE>
187
188<H4>Description</H4>
189
190<P>The <CODE>AuthClass</CODE> directive defines what level of
191authentication is required:</P>
192
193<UL>
194
195 <LI><CODE>Anonymous</CODE> - No authentication should be
196 performed (default)</LI>
197
198 <LI><CODE>User</CODE> - A valid username and password is
199 required</LI>
200
201 <LI><CODE>System</CODE> - A valid username and password
202 is required, and the username must belong to the "sys"
203 group; this can be changed using the <A
204 HREF="#SystemGroup"><CODE>SystemGroup</CODE></A>
205 directive</LI>
206
207 <LI><CODE>Group</CODE> - A valid username and password is
208 required, and the username must belong to the group named
209 by the <A
210 HREF="#AuthGroupName"><CODE>AuthGroupName</CODE></A>
211 directive</LI>
212
213</UL>
214
215<P>The <CODE>AuthClass</CODE> directive must appear inside a <A
216HREF="#Location"><CODE>Location</CODE></A> directive.</P>
217
218<P><B>This directive is deprecated and will be removed from a
219future release of CUPS.</B> Consider using the more flexible <A
220HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
221
222
223<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H3>
224
225<H4>Examples</H4>
226
227<PRE CLASS="command">
228AuthGroupName mygroup
229AuthGroupName lp
230</PRE>
231
232<H4>Description</H4>
233
234<P>The <CODE>AuthGroupName</CODE> directive sets the group to use
235for <CODE>Group</CODE> authentication.</P>
236
237<P>The <CODE>AuthGroupName</CODE> directive must appear inside a
238<A HREF="#Location"><CODE>Location</CODE></A> directive.</P>
239
240<P><B>This directive is deprecated and will be removed from a
241future release of CUPS.</B> Consider using the more flexible <A
242HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
243
244
245<H3 CLASS="title"><A NAME="AuthType">AuthType</A></H3>
246
247<H4>Examples</H4>
248
249<PRE CLASS="command">
250AuthType None
251AuthType Basic
252AuthType Digest
253AuthType BasicDigest
254</PRE>
255
256<H4>Description</H4>
257
258<P>The <CODE>AuthType</CODE> directive defines the type of
259authentication to perform:</P>
260
261<UL>
262
263 <LI><CODE>None</CODE> - No authentication should be
264 performed (default)</LI>
265
266 <LI><CODE>Basic</CODE> - Basic authentication should be
267 performed using the UNIX password and group files</LI>
268
269 <LI><CODE>Digest</CODE> - Digest authentication should be
270 performed using the <VAR>/etc/cups/passwd.md5</VAR>
271 file</LI>
272
273 <LI><CODE>BasicDigest</CODE> - Basic authentication
274 should be performed using the
275 <VAR>/etc/cups/passwd.md5</VAR> file</LI>
276
277</UL>
278
279<P>When using <CODE>Basic</CODE>, <CODE>Digest</CODE>, or
280<CODE>BasicDigest</CODE> authentication, clients connecting
281through the <CODE>localhost</CODE> interface can also
282authenticate using certificates.</P>
283
284<P>The <CODE>AuthType</CODE> directive must appear inside a <A
285HREF="#Location"><CODE>Location</CODE></A> directive.</P>
286
287
288<H3 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H3>
289
290<H4>Examples</H4>
291
292<PRE CLASS="command">
293AutoPurgeJobs Yes
294AutoPurgeJobs No
295</PRE>
296
297<H4>Description</H4>
298
299<P>The <CODE>AutoPurgeJobs</CODE> directive specifies whether or
300not to purge completed jobs once they are no longer required for
301quotas. This option has no effect if quotas are not enabled. The
302default setting is <CODE>No</CODE>.</P>
303
304
305<H3 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H3>
306
307<H4>Examples</H4>
308
309<PRE CLASS="command">
310BrowseAddress 255.255.255.255:631
311BrowseAddress 192.0.2.255:631
312BrowseAddress host.domain.com:631
313BrowseAddress @LOCAL
314BrowseAddress @IF(name)
315</PRE>
316
317<H4>Description</H4>
318
319<P>The <CODE>BrowseAddress</CODE> directive specifies an address
320to send browsing information to. Multiple
321<CODE>BrowseAddress</CODE> directives can be specified to send
322browsing information to different networks or systems.</P>
323
324<P>The <CODE>@LOCAL</CODE> name will broadcast printer
325information to all local interfaces. The <CODE>@IF(name)</CODE>
326name will broadcast to the named interface.</P>
327
328<P>There is no default browse address.</P>
329
330<BLOCKQUOTE><B>Note:</B>
331
332<P>If you are using HP-UX 10.20 and a subnet that is not 24,
33316, or 8 bits, printer browsing (and in fact all broadcast
334reception) will not work. This problem appears to be fixed in
335HP-UX 11.0.</P>
336
337</BLOCKQUOTE>
338
339
340<H3 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H3>
341
342<H4>Examples</H4>
343
344<PRE CLASS="command">
345BrowseAllow from all
346BrowseAllow from none
347BrowseAllow from 192.0.2
348BrowseAllow from 192.0.2.0/24
349BrowseAllow from 192.0.2.0/255.255.255.0
350BrowseAllow from *.domain.com
351BrowseAllow from @LOCAL
352BrowseAllow from @IF(name)
353</PRE>
354
355<H4>Description</H4>
356
357<P>The <CODE>BrowseAllow</CODE> directive specifies a system or
358network to accept browse packets from. The default is to accept
359browse packets from all hosts.</P>
360
361<P>Host and domain name matching require that you enable the <A
362HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
363directive.</P>
364
365<P>IP address matching supports exact matches, partial addresses
366that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
367255.255.255.0, or network addresses using the specified netmask
368or bit count.</P>
369
370<P>The <CODE>@LOCAL</CODE> name will allow browse data from all
371local interfaces. The <CODE>@IF(name)</CODE> name will allow
372browse data from the named interface.</P>
373
374
375<H3 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H3>
376
377<H4>Examples</H4>
378
379<PRE CLASS="command">
380BrowseDeny from all
381BrowseDeny from none
382BrowseDeny from 192.0.2
383BrowseDeny from 192.0.2.0/24
384BrowseDeny from 192.0.2.0/255.255.255.0
385BrowseDeny from *.domain.com
386BrowseDeny from @LOCAL
387BrowseDeny from @IF(name)
388</PRE>
389
390<H4>Description</H4>
391
392<P>The <CODE>BrowseDeny</CODE> directive specifies a system or
393network to reject browse packets from. The default is to not deny
394browse packets from any hosts.</P>
395
396<P>Host and domain name matching require that you enable the <A
397HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
398directive.</P>
399
400<P>IP address matching supports exact matches, partial addresses
401that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
402255.255.255.0, or network addresses using the specified netmask
403or bit count.</P>
404
405<P>The <CODE>@LOCAL</CODE> name will block browse data from all
406local interfaces. The <CODE>@IF(name)</CODE> name will block
407browse data from the named interface.</P>
408
409
410<H3 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H3>
411
412<H4>Examples</H4>
413
414<PRE CLASS="command">
415BrowseOrder allow,deny
416BrowseOrder deny,allow
417</PRE>
418
419<H4>Description</H4>
420
421<P>The <CODE>BrowseOrder</CODE> directive specifies the order of
422allow/deny processing. The default order is
423<CODE>deny,allow</CODE>:</P>
424
425<UL>
426
427 <LI><CODE>allow,deny</CODE> - Deny browse packets by
428 default, then check <CODE>BrowseAllow</CODE> lines
429 followed by <CODE>BrowseDeny</CODE> lines.</LI>
430
431 <LI><CODE>deny,allow</CODE> - Allow browse packets by
432 default, then check <CODE>BrowseDeny</CODE> lines
433 followed by <CODE>BrowseAllow</CODE> lines.</LI>
434
435</UL>
436
437
438<H3 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H3>
439
440<H4>Examples</H4>
441
442<PRE CLASS="command">
443BrowseInterval 0
444BrowseInterval 30
445</PRE>
446
447<H4>Description</H4>
448
449<P>The <CODE>BrowseInterval</CODE> directive specifies the
450maximum amount of time between browsing updates. Specifying a
451value of 0 seconds disables outgoing browse updates but allows a
452server to receive printer information from other hosts.</P>
453
454<P>The <CODE>BrowseInterval</CODE> value should always be less
455than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
456value. Otherwise printers and classes will disappear from client
457systems between updates.</P>
458
459
460<H3 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H3>
461
462<H4>Examples</H4>
463
464<PRE CLASS="command">
465BrowsePoll 192.0.2.2:631
466BrowsePoll host.domain.com:631
467</PRE>
468
469<H4>Description</H4>
470
471<P>The <CODE>BrowsePoll</CODE> directive polls a server for
472available printers once every <A
473HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> seconds.
474Multiple <CODE>BrowsePoll</CODE> directives can be specified to
475poll multiple servers.</P>
476
477<P>If <CODE>BrowseInterval</CODE> is set to 0 then the server is
478polled once every 30 seconds.</P>
479
480
481<H3 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H3>
482
483<H4>Examples</H4>
484
485<PRE CLASS="command">
486BrowsePort 631
487BrowsePort 9999
488</PRE>
489
490<H4>Description</H4>
491
492<P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
493used for browse packets. The default port number is 631.</P>
494
495<BLOCKQUOTE><B>Note:</B>
496
497<P>You must set the <CODE>BrowsePort</CODE> to the same value
498on all of the systems that you want to see.
499
500</BLOCKQUOTE>
501
502
503<H3 CLASS="title"><A NAME="BrowseProtocols">BrowseProtocols</A></H3>
504
505<H4>Examples</H4>
506
507<PRE CLASS="command">
508BrowseProtocols CUPS
509BrowseProtocols SLP
510BrowseProtocols CUPS SLP
511BrowseProtocols all
512</PRE>
513
514<H4>Description</H4>
515
516<P>The <CODE>BrowseProtocols</CODE> directive specifies the
517protocols to use when collecting and distributing shared printers
518on the local network. The default protocol is <CODE>CUPS</CODE>,
519which is a broadcast-based protocol.</P>
520
521<BLOCKQUOTE><B>Note:</B>
522
523<P>When using the <CODE>SLP</CODE> protocol, you must have at least
524one Directory Agent (DA) server on your network. Otherwise the
525CUPS scheduler (<CODE>cupsd</CODE>) will not respond to client
526requests for several seconds while polling the network.</P>
527
528</BLOCKQUOTE>
529
530
531<H3 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H3>
532
533<H4>Examples</H4>
534
535<PRE CLASS="command">
536BrowseRelay 193.0.2.1 192.0.2.255
537BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
538BrowseRelay 193.0.2.0/24 192.0.2.255
539BrowseRelay *.domain.com 192.0.2.255
540BrowseRelay host.domain.com 192.0.2.255
541</PRE>
542
543<H4>Description</H4>
544
545<P>The <CODE>BrowseRelay</CODE> directive specifies source and
546destination addresses for relaying browsing information from one
547host or network to another. Multiple <CODE>BrowseRelay</CODE>
548directives can be specified as needed.</P>
549
550<P><CODE>BrowseRelay</CODE> is typically used on systems that
551bridge multiple subnets using one or more network interfaces. It
552can also be used to relay printer information from polled servers
553with the line:</P>
554
555<PRE CLASS="command">
556BrowseRelay 127.0.0.1 @LOCAL
557</PRE>
558
559<P>This effectively provides access to printers on a WAN for all
560clients on the LAN(s).</P>
561
562
563<H3 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H3>
564
565<H4>Examples</H4>
566
567<PRE CLASS="command">
568BrowseShortNames Yes
569BrowseShortNames No
570</PRE>
571
572<H4>Description</H4>
573
574<P>The <CODE>BrowseShortNames</CODE> directive specifies whether
575or not short names are used for remote printers when possible.
576Short names are just the remote printer name, without the server
577("printer"). If more than one remote printer is detected with the
578same name, the printers will have long names ("printer@server1",
579"printer@server2".)</P>
580
581<P>The default value for this option is <CODE>Yes</CODE>.</P>
582
583
584<H3 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H3>
585
586<H4>Examples</H4>
587
588<PRE CLASS="command">
589BrowseTimeout 300
590BrowseTimeout 60
591</PRE>
592
593<H4>Description</H4>
594
595<P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
596printer or class information that is received in browse packets.
597Once a printer or class times out it is removed from the list of
598available destinations.</P>
599
600<P>The <CODE>BrowseTimeout</CODE> value should always be greater
601than the <A
602HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> value.
603Otherwise printers and classes will disappear from client systems
604between updates.</P>
605
606
607<H3 CLASS="title"><A NAME="Browsing">Browsing</A></H3>
608
609<H4>Examples</H4>
610
611<PRE CLASS="command">
612Browsing On
613Browsing Off
614</PRE>
615
616<H4>Description</H4>
617
618<P>The <CODE>Browsing</CODE> directive controls whether or not
619network printer browsing is enabled. The default setting is
620<CODE>On</CODE>.</P>
621
622<P>This directive does not enable sharing of local printers by
623itself; you must also use the <A
624HREF="#BrowseAddress"><CODE>BrowseAddress</CODE></A> or <A
625HREF="#BrowseProtocols"><CODE>BrowseProtocols</CODE></A>
626directives to advertise local printers to other systems.</P>
627
628<BLOCKQUOTE><B>Note:</B>
629
630<P>If you are using HP-UX 10.20 and a subnet that is not 24,
63116, or 8 bits, printer browsing (and in fact all broadcast
632reception) will not work. This problem appears to be fixed in
633HP-UX 11.0.</P>
634
635</BLOCKQUOTE>
636
637
638<H3 CLASS="title"><A NAME="Classification">Classification</A></H3>
639
640<H4>Examples</H4>
641
642<PRE CLASS="command">
643Classification
644Classification classified
645Classification confidential
646Classification secret
647Classification topsecret
648Classification unclassified
649</PRE>
650
651<H4>Description</H4>
652
653<P>The <CODE>Classification</CODE> directive sets the
654classification level on the server. When this option is set, at
655least one of the banner pages is forced to the classification
656level, and the classification is placed on each page of output.
657The default is no classification level.</P>
658
659
660<H3 CLASS="title"><A NAME="ClassifyOverride">ClassifyOverride</A></H3>
661
662<H4>Examples</H4>
663
664<PRE CLASS="command">
665ClassifyOverride Yes
666ClassifyOverride No
667</PRE>
668
669<H4>Description</H4>
670
671<P>The <CODE>ClassifyOverride</CODE> directive specifies whether
672users can override the default classification level on the
673server. When the server classification is set, users can change
674the classification using the <CODE>job-sheets</CODE> option and
675can choose to only print one security banner before or after the
676job. If the <CODE>job-sheets</CODE> option is set to
677<CODE>none</CODE> then the server default classification is
678used.</P>
679
680<P>The default is to not allow classification overrides.</P>
681
682
683<H3 CLASS="title"><A NAME="ConfigFilePerm">ConfigFilePerm</A></H3>
684
685<H4>Examples</H4>
686
687<PRE CLASS="command">
688ConfigFilePerm 0644
689ConfigFilePerm 0600
690</PRE>
691
692<H4>Description</H4>
693
694<P>The <CODE>ConfigFilePerm</CODE> directive specifies the
695permissions to use when writing configuration files. The default
696is 0600.</P>
697
698
699<H3 CLASS="title"><A NAME="DataDir">DataDir</A></H3>
700
701<H4>Examples</H4>
702
703<PRE CLASS="command">
704DataDir /usr/share/cups
705</PRE>
706
707<H4>Description</H4>
708
709<P>The <CODE>DataDir</CODE> directive sets the directory to use
710for data files.</P>
711
712
713<H3 CLASS="title"><A NAME="DefaultCharset">DefaultCharset</A></H3>
714
715<H4>Examples</H4>
716
717<PRE CLASS="command">
718DefaultCharset utf-8
719DefaultCharset iso-8859-1
720DefaultCharset windows-1251
721</PRE>
722
723<H4>Description</H4>
724
725<P>The <CODE>DefaultCharset</CODE> directive sets the default
726character set to use for client connections. The default
727character set is <CODE>utf-8</CODE> but is overridden by the
728character set for the language specified by the client or the
729<CODE>DefaultLanguage</CODE> directive.</P>
730
731
732<H3 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H3>
733
734<H4>Examples</H4>
735
736<PRE CLASS="command">
737DefaultLanguage de
738DefaultLanguage en
739DefaultLanguage es
740DefaultLanguage fr
741DefaultLanguage it
742</PRE>
743
744<H4>Description</H4>
745
746<P>The <CODE>DefaultLanguage</CODE> directive specifies the
747default language to use for client connections. Setting the
748default language also sets the default character set if a
749language localization file exists for it. The default language
750is "en" for English.</P>
751
752
753<H3 CLASS="title"><A NAME="Deny">Deny</A></H3>
754
755<H4>Examples</H4>
756
757<PRE CLASS="command">
758Deny from All
759Deny from None
760Deny from *.domain.com
761Deny from .domain.com
762Deny from host.domain.com
763Deny from nnn.*
764Deny from nnn.nnn.*
765Deny from nnn.nnn.nnn.*
766Deny from nnn.nnn.nnn.nnn
767Deny from nnn.nnn.nnn.nnn/mm
768Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
769Deny from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
770Deny from @LOCAL
771Deny from @IF(name)
772</PRE>
773
774<H4>Description</H4>
775
776<P>The <CODE>Deny</CODE> directive specifies a hostname, IP
777address, or network that is allowed access to the server.
778<CODE>Deny</CODE> directives are cummulative, so multiple
779<CODE>Deny</CODE> directives can be used to allow access for
780multiple hosts or networks. The <CODE>/mm</CODE> notation
781specifies a CIDR netmask:</P>
782
783<DIV CLASS="table"><TABLE>
784<TR>
785 <TH WIDTH="10%">mm</TH>
786 <TH WIDTH="20%">netmask</TH>
787 <TH WIDTH="10%">mm</TH>
788 <TH WIDTH="20%">netmask</TH>
789</TR>
790<TR>
791 <TD ALIGN="CENTER">0</TD>
792 <TD ALIGN="CENTER">0.0.0.0</TD>
793 <TD ALIGN="CENTER">8</TD>
794 <TD ALIGN="CENTER">255.0.0.0</TD>
795</TR>
796<TR>
797 <TD ALIGN="CENTER">1</TD>
798 <TD ALIGN="CENTER">128.0.0.0</TD>
799 <TD ALIGN="CENTER">16</TD>
800 <TD ALIGN="CENTER">255.255.0.0</TD>
801</TR>
802<TR>
803 <TD ALIGN="CENTER">2</TD>
804 <TD ALIGN="CENTER">192.0.0.0</TD>
805 <TD ALIGN="CENTER">24</TD>
806 <TD ALIGN="CENTER">255.255.255.0</TD>
807</TR>
808<TR>
809 <TD ALIGN="CENTER">...</TD>
810 <TD ALIGN="CENTER">...</TD>
811 <TD ALIGN="CENTER">32</TD>
812 <TD ALIGN="CENTER">255.255.255.255</TD>
813</TR>
814</TABLE></DIV>
815
816<P>The <CODE>@LOCAL</CODE> name will deny access from all local
817interfaces. The <CODE>@IF(name)</CODE> name will deny access from
818the named interface.</P>
819
820<P>The <CODE>Deny</CODE> directive must appear inside a <A
821HREF="#Location"><CODE>Location</CODE></A> directive.</P>
822
823
824<H3 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H3>
825
826<H4>Examples</H4>
827
828<PRE CLASS="command">
829DocumentRoot /usr/share/doc/cups
830DocumentRoot /foo/bar/doc/cups
831</PRE>
832
833<H4>Description</H4>
834
835<P>The <CODE>DocumentRoot</CODE> directive specifies the location
836of web content for the HTTP server in CUPS. If an absolute path
837is not specified then it is assumed to be relative to the <A
838HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
839default directory is <VAR>/usr/share/doc/cups</VAR>.</P>
840
841<P>Documents are first looked up in a sub-directory for the
842primary language requested by the client (e.g.
843<VAR>/usr/share/doc/cups/fr/...</VAR>) and then directly under
844the <CODE>DocumentRoot</CODE> directory (e.g.
845<VAR>/usr/share/doc/cups/...</VAR>), so it is possible to
846localize the web content by providing subdirectories for each
847language needed.</P>
848
849
850<H3 CLASS="title"><A NAME="Encryption">Encryption</A></H3>
851
852<H4>Examples</H4>
853
854<PRE CLASS="command">
855Encryption Never
856Encryption IfRequested
857Encryption Required
858</PRE>
859
860<H4>Description</H4>
861
862<P>The <CODE>Encryption</CODE> directive must appear instead a <A
863HREF="#Location"><CODE>Location</CODE></A> section and specifies
864the encryption settings for that location. The default setting is
865<CODE>IfRequested</CODE> for all locations.</P>
866
867
868<H3 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H3>
869
870<H4>Examples</H4>
871
872<PRE CLASS="command">
873ErrorLog /var/log/cups/error_log
874ErrorLog /var/log/cups/error_log-%s
875ErrorLog syslog
876</PRE>
877
878<H4>Description</H4>
879
880<P>The <CODE>ErrorLog</CODE> directive sets the name of the error
881log file. If the filename is not absolute then it is assumed to
882be relative to the <A
883HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
884default error log file is <VAR>/var/log/cups/error_log</VAR>.</P>
885
886<P>The server name can be included in the filename by using
887<CODE>%s</CODE> in the name.</P>
888
889<P>The special name "syslog" can be used to send the error
890information to the system log instead of a plain file.</P>
891
892
893<H3 CLASS="title"><A NAME="FileDevice">FileDevice</A></H3>
894
895<H4>Examples</H4>
896
897<PRE CLASS="command">
898FileDevice Yes
899FileDevice No
900</PRE>
901
902<H4>Description</H4>
903
904<P>The <CODE>FileDevice</CODE> directive determines whether the
905scheduler allows new printers to be added using device URIs of
906the form <CODE>file:/filename</CODE>. File devices are most often
907used to test new printer drivers and do not support raw file
908printing.</P>
909
910<P>The default setting is <CODE>No</CODE>.</P>
911
912<BLOCKQUOTE><B>Note:</B>
913
914<P>File devices are managed by the scheduler. Since the
915scheduler normally runs as the root user, file devices
916can be used to overwrite system files and potentially
917gain unauthorized access to the system. If you must
918create printers using file devices, we recommend that
919you set the <CODE>FileDevice</CODE> directive to
920<CODE>Yes</CODE> for only as long as you need to add the
921printers to the system, and then reset the directive to
922<CODE>No</CODE>.</P>
923
924</BLOCKQUOTE>
925
926
927<H3 CLASS="title"><A NAME="FilterLimit">FilterLimit</A></H3>
928
929<H4>Examples</H4>
930
931<PRE CLASS="command">
932FilterLimit 0
933FilterLimit 200
934FilterLimit 1000
935</PRE>
936
937<H4>Description</H4>
938
939<P>The <CODE>FilterLimit</CODE> directive sets the maximum cost
940of all running job filters. It can be used to limit the number of
941filter programs that are run on a server to minimize disk,
942memory, and CPU resource problems. A limit of 0 disables filter
943limiting.</P>
944
945<P>An average print to a non-PostScript printer needs a filter
946limit of about 200. A PostScript printer needs about half that
947(100). Setting the limit below these thresholds will effectively
948limit the scheduler to printing a single job at any time.</P>
949
950<P>The default limit is 0.</P>
951
952
953<H3 CLASS="title"><A NAME="FontPath">FontPath</A></H3>
954
955<H4>Examples</H4>
956
957<PRE CLASS="command">
958FontPath /foo/bar/fonts
959FontPath /usr/share/cups/fonts:/foo/bar/fonts
960</PRE>
961
962<H4>Description</H4>
963
964<P>The <CODE>FontPath</CODE> directive specifies the font path to
965use when searching for fonts. The default font path is
966<CODE>/usr/share/cups/fonts</CODE>.</P>
967
968
969<H3 CLASS="title"><A NAME="Group">Group</A></H3>
970
971<H4>Examples</H4>
972
973<PRE CLASS="command">
974Group nobody
975</PRE>
976
977<H4>Description</H4>
978
979<P>The <CODE>Group</CODE> directive specifies the UNIX group that
980filter and CGI programs run as. The default group is
981<CODE>nobody</CODE>.</P>
982
983
984<H3 CLASS="title"><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
985
986<H4>Examples</H4>
987
988<PRE CLASS="command">
989HideImplicitMembers Yes
990HideImplicitMembers No
991</PRE>
992
993<H4>Description</H4>
994
995<P>The <CODE>HideImplicitMembers</CODE> directive controls
996whether the individual printers in an implicit class are hidden
997from the user. The default is <CODE>Yes</CODE>.</P>
998
999<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1000must be enabled for this directive to have any effect.</P>
1001
1002
1003<H3 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H3>
1004
1005<H4>Examples</H4>
1006
1007<PRE CLASS="command">
1008HostNameLookups On
1009HostNameLookups Off
1010HostNameLookups Double
1011</PRE>
1012
1013<H4>Description</H4>
1014
1015<P>The <CODE>HostNameLookups</CODE> directive controls whether or
1016not CUPS looks up the hostname for connecting clients. The
1017<CODE>Double</CODE> setting causes CUPS to verify that the
1018hostname resolved from the address matches one of the addresses
1019returned for that hostname. <CODE>Double</CODE> lookups also
1020prevent clients with unregistered addresses from connecting to
1021your server.</P>
1022
1023<P>The default is <CODE>Off</CODE> to avoid the potential server
1024performance problems with hostname lookups. Set this option to
1025<CODE>On</CODE> or <CODE>Double</CODE> only if absolutely
1026required.</P>
1027
1028
1029<H3 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H3>
1030
1031<H4>Examples</H4>
1032
1033<PRE CLASS="command">
1034ImplicitClasses On
1035ImplicitClasses Off
1036</PRE>
1037
1038<H4>Description</H4>
1039
1040<P>The <CODE>ImplicitClasses</CODE> directive controls whether
1041implicit classes are created based upon the available network
1042printers and classes. The default setting is <CODE>On</CODE> but
1043is automatically turned <CODE>Off</CODE> if <A
1044HREF="#Browsing"><CODE>Browsing</CODE></A> is turned
1045<CODE>Off</CODE>.</P>
1046
1047
1048<H3 CLASS="title"><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
1049
1050<H4>Examples</H4>
1051
1052<PRE CLASS="command">
1053ImplicitAnyClasses On
1054ImplicitAnyClasses Off
1055</PRE>
1056
1057<H4>Description</H4>
1058
1059<P>The <CODE>ImplicitAnyClasses</CODE> directive controls
1060whether implicit classes for local and remote printers are
1061created with the name <CODE>AnyPrinter</CODE>. The default
1062setting is <CODE>Off</CODE>.</P>
1063
1064<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1065must be enabled for this directive to have any effect.</P>
1066
1067
1068<H3 CLASS="title"><A NAME="Include">Include</A></H3>
1069
1070<H4>Examples</H4>
1071
1072<PRE CLASS="command">
1073Include filename
1074Include /foo/bar/filename
1075</PRE>
1076
1077<H4>Description</H4>
1078
1079<P>The <CODE>Include</CODE> directive includes the named file in
1080the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
1081the file is assumed to be relative to the <A
1082HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
1083
1084
1085<H3 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H3>
1086
1087<H4>Examples</H4>
1088
1089<PRE CLASS="command">
1090KeepAlive On
1091KeepAlive Off
1092</PRE>
1093
1094<H4>Description</H4>
1095
1096<P>The <CODE>KeepAlive</CODE> directive controls whether or not
1097to support persistent HTTP connections. The default is
1098<CODE>On</CODE>.</P>
1099
1100<P>HTTP/1.1 clients automatically support persistent connections,
1101while HTTP/1.0 clients must specifically request them using the
1102<CODE>Keep-Alive</CODE> attribute in the <CODE>Connection:</CODE>
1103field of each request.</P>
1104
1105
1106<H3 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H3>
1107
1108<H4>Examples</H4>
1109
1110<PRE CLASS="command">
1111KeepAliveTimeout 60
1112KeepAliveTimeout 30
1113</PRE>
1114
1115<H4>Description</H4>
1116
1117<P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
1118a persistent HTTP connection will remain open after the last
1119request. The default is 60 seconds.</P>
1120
1121
1122<H3 CLASS="title"><A NAME="Limit">Limit</A></H3>
1123
1124<H4>Examples</H4>
1125
1126<PRE CLASS="command">
1127&lt;Limit GET POST&gt;
1128...
1129&lt;/Limit&gt;
1130
1131&lt;Limit ALL&gt;
1132...
1133&lt;/Limit&gt;
1134</PRE>
1135
1136<H4>Description</H4>
1137
1138<P>The <CODE>Limit</CODE> directive groups access control
1139directives for specific types of HTTP requests and must appear
1140inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1141Access can be limited for individual request types
1142(<CODE>DELETE</CODE>, <CODE>GET</CODE>, <CODE>HEAD</CODE>,
1143<CODE>OPTIONS</CODE>, <CODE>POST</CODE>, <CODE>PUT</CODE>, and
1144<CODE>TRACE</CODE>) or for all request types (<CODE>ALL</CODE>).
1145The request type names are case-sensitive for compatibility with
1146Apache.</P>
1147
1148
1149<H3 CLASS="title"><A NAME="LimitExcept">LimitExcept</A></H3>
1150
1151<H4>Examples</H4>
1152
1153<PRE CLASS="command">
1154&lt;LimitExcept GET POST&gt;
1155...
1156&lt;/LimitExcept&gt;
1157</PRE>
1158
1159<H4>Description</H4>
1160
1161<P>The <CODE>LimitExcept</CODE> directive groups access control
1162directives for specific types of HTTP requests and must appear
1163inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1164Unlike the <A HREF="#Limit"><CODE>Limit</CODE></A> directive,
1165<CODE>LimitExcept</CODE> restricts access for all requests
1166<I>except</I> those listed on the <CODE>LimitExcept</CODE>
1167line.</P>
1168
1169
1170<H3 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H3>
1171
1172<H4>Examples</H4>
1173
1174<PRE CLASS="command">
1175LimitRequestBody 10485760
1176LimitRequestBody 10m
1177LimitRequestBody 0
1178</PRE>
1179
1180<H4>Description</H4>
1181
1182<P>The <CODE>LimitRequestBody</CODE> directive controls the
1183maximum size of print files, IPP requests, and HTML form data in
1184HTTP POST requests. The default limit is 0 which disables the
1185limit check.</P>
1186
1187
1188<H3 CLASS="title"><A NAME="Listen">Listen</A></H3>
1189
1190<H4>Examples</H4>
1191
1192<PRE CLASS="command">
1193Listen 127.0.0.1:631
1194Listen 192.0.2.1:631
1195Listen [::1]:631
1196Listen *:631
1197</PRE>
1198
1199<H4>Description</H4>
1200
1201<P>The <CODE>Listen</CODE> directive specifies a network address
1202and port to listen for connections. Multiple <CODE>Listen</CODE>
1203directives can be provided to listen on multiple addresses.</P>
1204
1205<P>The <CODE>Listen</CODE> directive is similar to the <A
1206HREF="#Port"><CODE>Port</CODE></A> directive but allows you to
1207restrict access to specific interfaces or networks.</P>
1208
1209
1210<H3 CLASS="title"><A NAME="Location">Location</A></H3>
1211
1212<H4>Examples</H4>
1213
1214<PRE CLASS="command">
1215&lt;Location /&gt;
1216...
1217&lt;/Location&gt;
1218
1219&lt;Location /admin&gt;
1220...
1221&lt;/Location&gt;
1222
1223&lt;Location /admin/conf&gt;
1224...
1225&lt;/Location&gt;
1226
1227&lt;Location /admin/log&gt;
1228...
1229&lt;/Location&gt;
1230
1231&lt;Location /classes&gt;
1232...
1233&lt;/Location&gt;
1234
1235&lt;Location /classes/name&gt;
1236...
1237&lt;/Location&gt;
1238
1239&lt;Location /jobs&gt;
1240...
1241&lt;/Location&gt;
1242
1243&lt;Location /printers&gt;
1244...
1245&lt;/Location&gt;
1246
1247&lt;Location /printers/name&gt;
1248...
1249&lt;/Location&gt;
1250
1251</PRE>
1252
1253<H4>Description</H4>
1254
1255<P>The <CODE>Location</CODE> directive specifies access control
1256and authentication options for the specified HTTP resource or
1257path. The <A HREF="#Allow"><CODE>Allow</CODE></A>, <A
1258HREF="#AuthType"><CODE>AuthType</CODE></A>, <A
1259HREF="#Deny"><CODE>Deny</CODE></A>, <A
1260HREF="#Encryption"><CODE>Encryption</CODE></A>, <A
1261HREF="#Limit"><CODE>Limit</CODE></A>, <A
1262HREF="#LimitExcept"><CODE>LimitExcept</CODE></A>, <A
1263HREF="#Order"><CODE>Order</CODE></A>, <A
1264HREF="#Require"><CODE>Require</CODE></A>, and <A
1265HREF="#Satisfy"><CODE>Satisfy</CODE></A> directives may all
1266appear inside a location.</P>
1267
1268<P>Note that more specific resources override the less specific
1269ones. So the directives inside the <CODE>/printers/name</CODE>
1270location will override ones from <CODE>/printers</CODE>.
1271Directives inside <CODE>/printers</CODE> will override ones from
1272<CODE>/</CODE>. None of the directives are inherited.</P>
1273
1274<DIV CLASS="table"><TABLE>
1275<CAPTION>Common Locations on the Server</CAPTION>
1276<TR><TH>Location</TH><TH>Description</TH></TR>
1277<TR><TD><CODE>/</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)</TD></TR>
1278<TR><TD><CODE>/admin</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)</TD></TR>
1279<TR><TD><CODE>/admin/conf</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)</TD></TR>
1280<TR><TD><CODE>/admin/log</CODE></TD><TD>The path for access to the CUPS log files (access_log, error_log, page_log)</TD></TR>
1281<TR><TD><CODE>/classes</CODE></TD><TD>The path for all classes</TD></TR>
1282<TR><TD><CODE>/classes/name</CODE></TD><TD>The resource for class <CODE>name</CODE></TD></TR>
1283<TR><TD><CODE>/jobs</CODE></TD><TD>The path for all jobs (hold-job, release-job, etc.)</TD></TR>
1284<TR><TD><CODE>/jobs/id</CODE></TD><TD>The resource for job <CODE>id</CODE></TD></TR>
1285<TR><TD><CODE>/printers</CODE></TD><TD>The path for all printers</TD></TR>
1286<TR><TD><CODE>/printers/name</CODE></TD><TD>The path for printer <CODE>name</CODE></TD></TR>
1287<TR><TD><CODE>/printers/name.ppd</CODE></TD><TD>The PPD file path for printer <CODE>name</CODE></TD></TR>
1288</TABLE></DIV>
1289
1290
1291<H3 CLASS="title"><A NAME="LogFilePerm">LogFilePerm</A></H3>
1292
1293<H4>Examples</H4>
1294
1295<PRE CLASS="command">
1296LogFilePerm 0644
1297LogFilePerm 0600
1298</PRE>
1299
1300<H4>Description</H4>
1301
1302<P>The <CODE>LogFilePerm</CODE> directive specifies the
1303permissions to use when writing configuration files. The default
1304is 0644.</P>
1305
1306
1307<H3 CLASS="title"><A NAME="LogLevel">LogLevel</A></H3>
1308
1309<H4>Examples</H4>
1310
1311<PRE CLASS="command">
1312LogLevel none
1313LogLevel emerg
1314LogLevel alert
1315LogLevel crit
1316LogLevel error
1317LogLevel warn
1318LogLevel notice
1319LogLevel info
1320LogLevel debug
1321LogLevel debug2
1322</PRE>
1323
1324<H4>Description</H4>
1325
1326<P>The <CODE>LogLevel</CODE> directive specifies the level of
1327logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
1328file. The following values are recognized (each level logs
1329everything under the preceding levels):</P>
1330
1331<UL>
1332
1333 <LI><CODE>none</CODE> - Log nothing</LI>
1334
1335 <LI><CODE>emerg</CODE> - Log emergency conditions that
1336 prevent the server from running</LI>
1337
1338 <LI><CODE>alert</CODE> - Log alerts that must be handled
1339 immediately</LI>
1340
1341 <LI><CODE>crit</CODE> - Log critical errors that don't
1342 prevent the server from running</LI>
1343
1344 <LI><CODE>error</CODE> - Log general errors</LI>
1345
1346 <LI><CODE>warn</CODE> - Log errors and warnings</LI>
1347
1348 <LI><CODE>notice</CODE> - Log temporary error conditions</LI>
1349
1350 <LI><CODE>info</CODE> - Log all requests and state
1351 changes (default)</LI>
1352
1353 <LI><CODE>debug</CODE> - Log basic debugging
1354 information</LI>
1355
1356 <LI><CODE>debug2</CODE> - Log all debugging
1357 information</LI>
1358
1359</UL>
1360
1361
1362<H3 CLASS="title"><A NAME="MaxClients">MaxClients</A></H3>
1363
1364<H4>Examples</H4>
1365
1366<PRE CLASS="command">
1367MaxClients 100
1368MaxClients 1024
1369</PRE>
1370
1371<H4>Description</H4>
1372
1373<P>The <CODE>MaxClients</CODE> directive controls the maximum
1374number of simultaneous clients that will be allowed by the
1375server. The default is 100 clients.</P>
1376
1377<BLOCKQUOTE><B>Note:</B>
1378
1379<P>Since each print job requires a file descriptor for the status
1380pipe, the scheduler internally limits the <CODE>MaxClients</CODE>
1381value to 1/3 of the available file descriptors to avoid possible
1382problems when printing large numbers of jobs.</P>
1383
1384</BLOCKQUOTE>
1385
1386
1387<H3 CLASS="title"><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H3>
1388
1389<H4>Examples</H4>
1390
1391<PRE CLASS="command">
1392MaxClientsPerHost 10
1393</PRE>
1394
1395<H4>Description</H4>
1396
1397<P>The <CODE>MaxClientsPerHost</CODE> directive controls the
1398maximum number of simultaneous clients that will be allowed from
1399a single host by the server. The default is the
1400<CODE>MaxClients</CODE> value.</P>
1401
1402<P>This directive provides a small measure of protection against
1403Denial of Service attacks from a single host.</P>
1404
1405
1406<H3 CLASS="title"><A NAME="MaxCopies">MaxCopies</A></H3>
1407
1408<H4>Examples</H4>
1409
1410<PRE CLASS="command">
1411MaxCopies 100
1412MaxCopies 65535
1413</PRE>
1414
1415<H4>Description</H4>
1416
1417<P>The <CODE>MaxCopies</CODE> directive controls the maximum
1418number of copies that a user can print of a job. The default is
1419100 copies.</P>
1420
1421<BLOCKQUOTE><B>Note:</B>
1422
1423<P>Most HP PCL laser printers internally limit the number of
1424copies to 100.</P>
1425
1426</BLOCKQUOTE>
1427
1428
1429
1430<H3 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H3>
1431
1432<H4>Examples</H4>
1433
1434<PRE CLASS="command">
1435MaxJobs 100
1436MaxJobs 9999
1437MaxJobs 0
1438</PRE>
1439
1440<H4>Description</H4>
1441
1442<P>The <CODE>MaxJobs</CODE> directive controls the maximum number
1443of jobs that are kept in memory. Once the number of jobs reaches
1444the limit, the oldest completed job is automatically purged from
1445the system to make room for the new one. If all of the known jobs
1446are still pending or active then the new job will be
1447rejected.</P>
1448
1449<P>Setting the maximum size to 0 disables this functionality. The
1450default setting is 0.</P>
1451
1452
1453<H3 CLASS="title"><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H3>
1454
1455<H4>Examples</H4>
1456
1457<PRE CLASS="command">
1458MaxJobsPerPrinter 100
1459MaxJobsPerPrinter 9999
1460MaxJobsPerPrinter 0
1461</PRE>
1462
1463<H4>Description</H4>
1464
1465<P>The <CODE>MaxJobsPerPrinter</CODE> directive controls the
1466maximum number of active jobs that are allowed for each printer
1467or class. Once a printer or class reaches the limit, new jobs
1468will be rejected until one of the active jobs is completed,
1469stopped, aborted, or canceled.</P>
1470
1471<P>Setting the maximum to 0 disables this functionality. The
1472default setting is 0.</P>
1473
1474
1475<H3 CLASS="title"><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H3>
1476
1477<H4>Examples</H4>
1478
1479<PRE CLASS="command">
1480MaxJobsPerUser 100
1481MaxJobsPerUser 9999
1482MaxJobsPerUser 0
1483</PRE>
1484
1485<H4>Description</H4>
1486
1487<P>The <CODE>MaxJobsPerUser</CODE> directive controls the maximum
1488number of active jobs that are allowed for each user. Once a user
1489reaches the limit, new jobs will be rejected until one of the
1490active jobs is completed, stopped, aborted, or canceled.</P>
1491
1492<P>Setting the maximum to 0 disables this functionality. The
1493default setting is 0.</P>
1494
1495
1496<H3 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H3>
1497
1498<H4>Examples</H4>
1499
1500<PRE CLASS="command">
1501MaxLogSize 1048576
1502MaxLogSize 1m
1503MaxLogSize 0
1504</PRE>
1505
1506<H4>Description</H4>
1507
1508<P>The <CODE>MaxLogSize</CODE> directive controls the maximum
1509size of each log file. Once a log file reaches or exceeds the
1510maximum size it is closed and renamed to <VAR>filename.O</VAR>.
1511This allows you to rotate the logs automatically. The default
1512size is 1048576 bytes (1MB).</P>
1513
1514<P>Setting the maximum size to 0 disables log rotation.</P>
1515
1516
1517<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H3>
1518
1519<H4>Examples</H4>
1520
1521<PRE CLASS="command">
1522MaxRequestSize 10485760
1523MaxRequestSize 10m
1524MaxRequestSize 0
1525</PRE>
1526
1527<H4>Description</H4>
1528
1529<P>The <CODE>MaxRequestSize</CODE> directive controls the maximum
1530size of print files, IPP requests, and HTML form data in HTTP
1531POST requests. The default limit is 0 which disables the limit
1532check.</P>
1533
1534<P><B>This directive is deprecated and will be replaced in a
1535future CUPS release.</B> Use the <A
1536HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
1537directive instead.</P>
1538
1539
1540<H3 CLASS="title"><A NAME="Order">Order</A></H3>
1541
1542<H4>Examples</H4>
1543
1544<PRE CLASS="command">
1545Order Allow,Deny
1546Order Deny,Allow
1547</PRE>
1548
1549<H4>Description</H4>
1550
1551<P>The <CODE>Order</CODE> directive defines the default access
1552control. The following values are supported:</P>
1553
1554<UL>
1555
1556 <LI><CODE>allow,deny</CODE> - Deny requests by default,
1557 then check the <A HREF="#Allow"><CODE>Allow</CODE></A>
1558 lines followed by the <A
1559 HREF="#Deny"><CODE>Deny</CODE></A> lines</LI>
1560
1561 <LI><CODE>deny,allow</CODE> - Allow requests by default,
1562 then check the <A HREF="#Deny"><CODE>Deny</CODE></A>
1563 lines followed by the <A
1564 HREF="#Allow"><CODE>Allow</CODE></A> lines</LI>
1565
1566</UL>
1567
1568<P>The <CODE>Order</CODE> directive must appear inside a <A
1569HREF="#Location"><CODE>Location</CODE></A> directive.</P>
1570
1571
1572<H3 CLASS="title"><A NAME="PageLog">PageLog</A></H3>
1573
1574<H4>Examples</H4>
1575
1576<PRE CLASS="command">
1577PageLog /var/log/cups/page_log
1578PageLog /var/log/cups/page_log-%s
1579PageLog syslog
1580</PRE>
1581
1582<H4>Description</H4>
1583
1584<P>The <CODE>PageLog</CODE> directive sets the name of the page
1585log file. If the filename is not absolute then it is assumed to
1586be relative to the <A
1587HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1588default page log file is <VAR>/var/log/cups/page_log</VAR>.</P>
1589
1590<P>The server name can be included in the filename by using
1591<CODE>%s</CODE> in the name.</P>
1592
1593<P>The special name "syslog" can be used to send the page
1594information to the system log instead of a plain file.</P>
1595
1596
1597<H3 CLASS="title"><A NAME="Port">Port</A></H3>
1598
1599<H4>Examples</H4>
1600
1601<PRE CLASS="command">
1602Port 631
1603Port 80
1604</PRE>
1605
1606<H4>Description</H4>
1607
1608<P>The <CODE>Port</CODE> directive specifies a port to listen on.
1609Multiple <CODE>Port</CODE> lines can be specified to listen on
1610multiple ports. The <CODE>Port</CODE> directive is equivalent to
1611"<CODE>Listen *:nnn</CODE>". The default port is 631.</P>
1612
1613<BLOCKQUOTE><B>Note:</B>
1614
1615<P>On systems that support IPv6, this directive will bind to both
1616the IPv4 and IPv6 wildcard address.</P>
1617
1618</BLOCKQUOTE>
1619
1620
1621<H3 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H3>
1622
1623<H4>Examples</H4>
1624
1625<PRE CLASS="command">
1626PreserveJobHistory On
1627PreserveJobHistory Off
1628</PRE>
1629
1630<H4>Description</H4>
1631
1632<P>The <CODE>PreserveJobHistory</CODE> directive controls whether
1633the history of completed, canceled, or aborted print jobs is
1634stored on disk.</P>
1635
1636<P>A value of <CODE>On</CODE> (the default) preserves job
1637information until the administrator purges it with the
1638<CODE>cancel</CODE> command.</P>
1639
1640<P>A value of <CODE>Off</CODE> removes the job information as
1641soon as each job is completed, canceled, or aborted.</P>
1642
1643
1644<H3 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H3>
1645
1646<H4>Examples</H4>
1647
1648<PRE CLASS="command">
1649PreserveJobFiles On
1650PreserveJobFiles Off
1651</PRE>
1652
1653<H4>Description</H4>
1654
1655<P>The <CODE>PreserveJobFiles</CODE> directive controls whether
1656the document files of completed, canceled, or aborted print jobs
1657are stored on disk.</P>
1658
1659<P>A value of <CODE>On</CODE> preserves job files until the
1660administrator purges them with the <CODE>cancel</CODE> command.
1661Jobs can be restarted (and reprinted) as desired until they are
1662purged.</P>
1663
1664<P>A value of <CODE>Off</CODE> (the default) removes the job
1665files as soon as each job is completed, canceled, or aborted.</P>
1666
1667
1668<H3 CLASS="title"><A NAME="Printcap">Printcap</A></H3>
1669
1670<H4>Examples</H4>
1671
1672<PRE CLASS="command">
1673Printcap
1674Printcap /etc/printcap
1675Printcap /etc/printers.conf
1676</PRE>
1677
1678<H4>Description</H4>
1679
1680<P>The <CODE>Printcap</CODE> directive controls whether or not a
1681printcap file is automatically generated and updated with a list
1682of available printers. If specified with no value, then no
1683printcap file will be generated. The default is to generate a
1684file named <VAR>/etc/printcap</VAR>.</P>
1685
1686<P>When a filename is specified (e.g. <VAR>/etc/printcap</VAR>),
1687the printcap file is written whenever a printer is added or
1688removed. The printcap file can then be used by applications that
1689are hardcoded to look at the printcap file for the available
1690printers.</P>
1691
1692
1693<H3 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H3>
1694
1695<H4>Examples</H4>
1696
1697<PRE CLASS="command">
1698PrintcapFormat BSD
1699PrintcapFormat Solaris
1700</PRE>
1701
1702<H4>Description</H4>
1703
1704<P>The <CODE>PrintcapFormat</CODE> directive controls the output
1705format of the printcap file. The default is to generate a BSD
1706printcap file.</P>
1707
1708
1709<H3 CLASS="title"><A NAME="RemoteRoot">RemoteRoot</A></H3>
1710
1711<H4>Examples</H4>
1712
1713<PRE CLASS="command">
1714RemoteRoot remroot
1715RemoteRoot root
1716</PRE>
1717
1718<H4>Description</H4>
1719
1720<P>The <CODE>RemoteRoot</CODE> directive sets the username for
1721unauthenticated root requests from remote hosts. The default
1722username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
1723to <VAR>root</VAR> effectively disables this security
1724mechanism.</P>
1725
1726
1727<H3 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H3>
1728
1729<H4>Examples</H4>
1730
1731<PRE CLASS="command">
1732RequestRoot /var/spool/cups
1733RequestRoot /foo/bar/spool/cups
1734</PRE>
1735
1736<H4>Description</H4>
1737
1738<P>The <CODE>RequestRoot</CODE> directive sets the directory for
1739incoming IPP requests and HTML forms. If an absolute path is not
1740provided then it is assumed to be relative to the <A
1741HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1742default request directory is <VAR>/var/spool/cups</VAR>.</P>
1743
1744
1745<H3 CLASS="title"><A NAME="Require">Require</A></H3>
1746
1747<H4>Examples</H4>
1748
1749<PRE CLASS="command">
1750Require group foo bar
1751Require user john mary
1752Require valid-user
1753Require user @groupname
1754Require user @SYSTEM
1755Require user @OWNER
1756</PRE>
1757
1758<H4>Description</H4>
1759
1760<P>The <CODE>Require</CODE> directive specifies that
1761authentication is required for the resource. The
1762<CODE>group</CODE> keyword specifies that the authenticated user
1763must be a member of one or more of the named groups that
1764follow.</P>
1765
1766<P>The <CODE>user</CODE> keyboard specifies that the
1767authenticated user must be one of the named users or groups that
1768follow. Group names are specified using the "@" prefix.</P>
1769
1770<P>The <CODE>valid-user</CODE> keyword specifies that any
1771authenticated user may access the resource.</P>
1772
1773<P>The default is to do no authentication. This directive must
1774appear inside a <A HREF="#Location"><CODE>Location</CODE></A>
1775directive.</P>
1776
1777
1778<H3 CLASS="title"><A NAME="RIPCache">RIPCache</A></H3>
1779
1780<H4>Examples</H4>
1781
1782<PRE CLASS="command">
1783RIPCache 8m
1784RIPCache 1g
1785RIPCache 2048k
1786</PRE>
1787
1788<H4>Description</H4>
1789
1790<P>The <CODE>RIPCache</CODE> directive sets the size of the
1791memory cache used by Raster Image Processor ("RIP") filters such
1792as <CODE>imagetoraster</CODE> and <CODE>pstoraster</CODE>. The
1793size can be suffixed with a "k" for kilobytes, "m" for megabytes,
1794or "g" for gigabytes. The default cache size is "8m", or 8
1795megabytes.</P>
1796
1797
1798<H3 CLASS="title"><A NAME="Satisfy">Satisfy</A></H3>
1799
1800<H4>Examples</H4>
1801
1802<PRE CLASS="command">
1803Satisfy all
1804Satisfy any
1805</PRE>
1806
1807<H4>Description</H4>
1808
1809<P>The <CODE>Satisfy</CODE> directive specifies whether all
1810conditions must be satisfied to allow access to the resource. If
1811set to <CODE>all</CODE>, then all authentication and access
1812control conditions must be satified to allow access.</P>
1813
1814<P>Setting <CODE>Satisfy</CODE> to <CODE>any</CODE> allows a user
1815to gain access if the authentication or access control
1816requirements are satisfied. For example, you might require
1817authentication for remote access, but allow local access without
1818authentication.</P>
1819
1820<P>The default is <CODE>all</CODE>. This directive must appear
1821inside a <A HREF="#Location"><CODE>Location</CODE></A>
1822directive.</P>
1823
1824
1825<H3 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H3>
1826
1827<H4>Examples</H4>
1828
1829<PRE CLASS="command">
1830ServerAdmin user@host
1831ServerAdmin root@foo.bar.com
1832</PRE>
1833
1834<H4>Description</H4>
1835
1836<P>The <CODE>ServerAdmin</CODE> directive identifies the email
1837address for the administrator on the system. By default the
1838administrator email address is <CODE>root@server</CODE>, where
1839<CODE>server</CODE> is the server name.</P>
1840
1841
1842<H3 CLASS="title"><A NAME="ServerBin">ServerBin</A></H3>
1843
1844<H4>Examples</H4>
1845
1846<PRE CLASS="command">
1847ServerBin /usr/lib/cups
1848ServerBin /foo/bar/lib/cups
1849</PRE>
1850
1851<H4>Description</H4>
1852
1853<P>The <CODE>ServerBin</CODE> directive sets the directory for
1854server-run executables. If an absolute path is not provided then
1855it is assumed to be relative to the <A
1856HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1857default executable directory is <VAR>/usr/lib/cups</VAR> or
1858<VAR>/usr/lib32/cups</VAR> (IRIX 6.5).</P>
1859
1860
1861<H3 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H3>
1862
1863<H4>Examples</H4>
1864
1865<PRE CLASS="command">
1866ServerCertificate /etc/cups/ssl/server.crt
1867</PRE>
1868
1869<H4>Description</H4>
1870
1871<P>The <CODE>ServerCertificate</CODE> directive specifies the
1872location of the SSL certificate file used by the server when
1873negotiating encrypted connections. The certificate must not be
1874encrypted (password protected) since the scheduler normally runs
1875in the background and will be unable to ask for a password.</P>
1876
1877<P>The default certificate file is
1878<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1879
1880
1881<H3 CLASS="title"><A NAME="ServerKey">ServerKey</A></H3>
1882
1883<H4>Examples</H4>
1884
1885<PRE CLASS="command">
1886ServerKey /etc/cups/ssl/server.key
1887</PRE>
1888
1889<H4>Description</H4>
1890
1891<P>The <CODE>ServerKey</CODE> directive specifies the location of
1892the SSL private key file used by the server when negotiating
1893encrypted connections.</P>
1894
1895<P>The default key file is
1896<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1897
1898
1899<H3 CLASS="title"><A NAME="ServerName"></A>ServerName</H3>
1900
1901<H4>Examples</H4>
1902
1903<PRE CLASS="command">
1904ServerName foo.domain.com
1905ServerName myserver.domain.com
1906</PRE>
1907
1908<H4>Description</H4>
1909
1910<P>The <CODE>ServerName</CODE> directive specifies the hostname
1911that is reported to clients. By default the server name is the
1912hostname.</P>
1913
1914
1915<H3 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H3>
1916
1917<H4>Examples</H4>
1918
1919<PRE CLASS="command">
1920ServerRoot /etc/cups
1921ServerRoot /foo/bar/cups
1922</PRE>
1923
1924<H4>Description</H4>
1925
1926<P>The <CODE>ServerRoot</CODE> directive specifies the absolute
1927path to the server configuration and state files. It is also used
1928to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
1929default server directory is <VAR>/etc/cups</VAR>.</P>
1930
1931
1932<H3 CLASS="title"><A NAME="SSLListen">SSLListen</A></H3>
1933
1934<H4>Examples</H4>
1935
1936<PRE CLASS="command">
1937SSLListen 127.0.0.1:443
1938SSLListen 192.0.2.1:443
1939</PRE>
1940
1941<H4>Description</H4>
1942
1943<P>The <CODE>SSLListen</CODE> directive specifies a network
1944address and port to listen for secure connections. Multiple
1945<CODE>SSLListen</CODE> directives can be provided to listen on
1946multiple addresses.</P>
1947
1948<P>The <CODE>SSLListen</CODE> directive is similar to the <A
1949HREF="#SSLPort"><CODE>SSLPort</CODE></A> directive but allows you
1950to restrict access to specific interfaces or networks.</P>
1951
1952
1953<H3 CLASS="title"><A NAME="SSLPort">SSLPort</A></H3>
1954
1955<H4>Examples</H4>
1956
1957<PRE CLASS="command">
1958SSLPort 443
1959</PRE>
1960
1961<H4>Description</H4>
1962
1963<P>The <CODE>SSLPort</CODE> directive specifies a port to listen
1964on for secure connections. Multiple <CODE>SSLPort</CODE> lines
1965can be specified to listen on multiple ports.</P>
1966
1967
1968<H3 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H3>
1969
1970<H4>Examples</H4>
1971
1972<PRE CLASS="command">
1973SystemGroup lpadmin
1974SystemGroup sys
1975SystemGroup system
1976SystemGroup root
1977</PRE>
1978
1979<H4>Description</H4>
1980
1981<P>The <CODE>SystemGroup</CODE> directive specifies the system
1982administration group for <CODE>System</CODE> authentication.</P>
1983
1984
1985<H3 CLASS="title"><A NAME="TempDir">TempDir</A></H3>
1986
1987<H4>Examples</H4>
1988
1989<PRE CLASS="command">
1990TempDir /var/tmp
1991TempDir /foo/bar/tmp
1992</PRE>
1993
1994<H4>Description</H4>
1995
1996<P>The <CODE>TempDir</CODE> directive specifies an absolute path
1997for the directory to use for temporary files. The default
1998directory is <VAR>/var/spool/cups/tmp</VAR>.</P>
1999
2000<P>Temporary directories must be world-writable and should have
2001the "sticky" permission bit enabled so that other users cannot
2002delete filter temporary files. The following commands will create
2003an appropriate temporary directory called
2004<VAR>/foo/bar/tmp</VAR>:</P>
2005
2006<PRE CLASS="command">
2007<KBD>mkdir /foo/bar/tmp</KBD>
2008<KBD>chmod a+rwxt /foo/bar/tmp</KBD>
2009</PRE>
2010
2011
2012<H3 CLASS="title"><A NAME="Timeout">Timeout</A></H3>
2013
2014<H4>Examples</H4>
2015
2016<PRE CLASS="command">
2017Timeout 300
2018Timeout 90
2019</PRE>
2020
2021<H4>Description</H4>
2022
2023<P>The <CODE>Timeout</CODE> directive controls the amount of time
2024to wait before an active HTTP or IPP request times out. The
2025default timeout is 300 seconds.</P>
2026
2027
2028<H3 CLASS="title"><A NAME="User">User</A></H3>
2029
2030<H4>Examples</H4>
2031
2032<PRE CLASS="command">
2033User lp
2034User guest
2035</PRE>
2036
2037<H4>Description</H4>
2038
2039<P>The <CODE>User</CODE> directive specifies the UNIX user that
2040filter and CGI programs run as. The default user is
2041<CODE>lp</CODE>.</P>
2042
2043<BLOCKQUOTE><B>Note:</B>
2044
2045<P>You may not use user <CODE>root</CODE>, as that would expose
2046the system to unacceptable security risks. The scheduler will
2047automatically choose user <CODE>nobody</CODE> if you specify a
2048user whose ID is 0.</P>
2049
2050</BLOCKQUOTE>
2051
2052
2053</BODY>
2054</HTML>