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