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