]> arthur.barton.de Git - netatalk.git/blob - config/afpd.conf.tmpl
71f2d50b49280e6158c1344dcd1c654d7353bb87
[netatalk.git] / config / afpd.conf.tmpl
1 #
2 # CONFIGURATION FOR AFPD
3 #
4 # Each single line defines a virtual server that should be available.
5 # Though, using "\" character, newline escaping is supported.
6 # Empty lines and lines beginning with `#' are ignored.
7 # Options in this file will override both compiled-in defaults
8 # and command line options.
9 #
10
11
12 #
13 # Format:
14 #  - [options]               to specify options for the default server
15 #  "Server name" [options]   to specify an additional server
16 #
17
18
19 #
20 # The following options are available:
21 #   Transport Protocols:
22 #     -[no]tcp       Make "AFP over TCP" [not] available
23 #     -[no]ddp       Make "AFP over AppleTalk" [not] available.
24 #                    If you have -proxy specified, specify -uamlist "" to 
25 #                    prevent ddp connections from working.
26 #
27 #     -transall      Make both available
28 #
29 #   Transport Options:
30 #     -ipaddr <ipaddress> Specifies the IP address that the server should
31 #                         advertise and listens to. The default is advertise
32 #                         the first IP address of the system, but to listen
33 #                         for any incoming request. The network address may
34 #                         be specified either in dotted-decimal format for
35 #                         IPv4 or in hexadecimal format for IPv6.
36 #                         This option also allows to use one machine to
37 #                         advertise the AFP-over-TCP/IP settings of another
38 #                         machine via NBP when used together with the -proxy
39 #                         option.
40 #     -server_quantum <number> 
41 #                         Specifies the DSI server quantum. The minimum
42 #                         value is 1MB. The max value is 0xFFFFFFFF. If you 
43 #                         specify a value that is out of range, you'll get 
44 #                         the default value (currently the minimum).
45 #     -admingroup <groupname>
46 #                         Specifies the group of administrators who should
47 #                         all be seen as the superuser when they log in.
48 #                         Default is disabled.
49 #     -ddpaddr x.y        Specifies the DDP address of the server.
50 #                         the  default is to auto-assign an address (0.0).
51 #                         this is only useful if you're running on
52 #                         a multihomed host.
53 #     -port <number>      Specifies the TCP port the server should respond
54 #                         to (default is 548)
55 #     -fqdn <name:port>   specify a fully-qualified domain name (+optional
56 #                         port). this gets discarded if the server can't
57 #                         resolve it. this is not honored by appleshare
58 #                         clients <= 3.8.3 (default: none)
59 #     -hostname <name>    Use this instead of the result from calling
60 #                         hostname for dertermening which IP address to
61 #                         advertise, therfore the hostname is resolved to
62 #                         an IP which is the advertised. This is NOT used for
63 #                         listening and it is also overwritten by -ipaddr.
64 #     -proxy              Run an AppleTalk proxy server for specified
65 #                         AFP/TCP server (if address/port aren't given,
66 #                         then first IP address of the system/548 will
67 #                         be used).
68 #                         if you don't want the proxy server to act as
69 #                         a ddp server as well, set -uamlist to an empty
70 #                         string.
71 #     -dsireadbuf [number]
72 #                         Scale factor that determines the size of the
73 #                         DSI/TCP readahead buffer, default is 12. This is
74 #                         multiplies with the DSI server quantum (default
75 #                         ~300k) to give the size of the buffer. Increasing
76 #                         this value might increase throughput in fast local
77 #                         networks for volume to volume copies.  Note: This
78 #                         buffer is allocated per afpd child process, so
79 #                         specifying large values will eat up large amount of
80 #                         memory (buffer size * number of clients).
81 #     -tcprcvbuf [number]
82 #                         Try to set TCP receive buffer using setsockpt().
83 #                         Often OSes impose restrictions on the applications
84 #                         ability to set this value.
85 #     -tcpsndbuf [number]
86 #                         Try to set TCP send buffer using setsockpt().
87 #                         Often OSes impose restrictions on the applications
88 #                         ability to set this value.
89 #     -slp                Register this server with the Service Location
90 #                         Protocol (if SLP support was compiled in).
91 #     -nozeroconf         Don't register this server with the Multicats
92 #                         DNS Protocol.
93 #     -advertise_ssh      Allows Mac OS X clients (10.3.3-10.4) to
94 #                         automagically establish a tunneled AFP connection
95 #                         through SSH. This option is not so significant
96 #                         for the recent Mac OS X. See the Netatalk Manual
97 #                         in detail.
98 #
99 #
100 #   Authentication Methods:
101 #     -uampath <path>  Use this path to look for User Authentication Modules.
102 #                      (default: :UAMS_PATH:)
103 #     -uamlist <a,b,c> Comma-separated list of UAMs.
104 #                      (default: uams_dhx.so,uams_dhx2.so)
105 #
106 #                      some commonly available UAMs:
107 #                      uams_guest.so: Allow guest logins
108 #
109 #                      uams_clrtxt.so: (uams_pam.so or uams_passwd.so)
110 #                                     Allow logins with passwords
111 #                                     transmitted in the clear. 
112 #
113 #                      uams_randnum.so: Allow Random Number and Two-Way
114 #                                      Random Number exchange for
115 #                                      authentication.
116 #
117 #                      uams_dhx.so: (uams_dhx_pam.so or uams_dhx_passwd.so)
118 #                                  Allow Diffie-Hellman eXchange
119 #                                  (DHX) for authentication.
120 #
121 #                      uams_dhx2.so: (uams_dhx2_pam.so or uams_dhx2_passwd.so)
122 #                                   Allow Diffie-Hellman eXchange 2
123 #                                   (DHX2) for authentication.
124 #
125 #   Password Options:
126 #     -[no]savepassword   [Don't] Allow clients to save password locally
127 #     -passwdfile <path>  Use this path to store Randnum passwords.
128 #                         (Default: :ETCDIR:/afppasswd. The only other
129 #                         useful value is ~/.passwd. See 'man afppasswd'
130 #                         for details.)
131 #     -passwdminlen <#>   minimum password length. may be ignored.
132 #     -[no]setpassword    [Don't] Allow clients to change their passwords.
133 #     -loginmaxfail <#>   maximum number of failed logins. this may be
134 #                         ignored if the uam can't handle it.
135 #
136 #   AppleVolumes files:
137 #     -defaultvol <path>  Specifies path to AppleVolumes.default file
138 #                         (default :ETCDIR:/AppleVolumes.default,
139 #                         same as -f on command line)
140 #     -systemvol <path>   Specifies path to AppleVolumes.system file
141 #                         (default :ETCDIR:/AppleVolumes.system,
142 #                         same as -s on command line)
143 #     -[no]uservolfirst   [Don't] read the user's ~/AppleVolumes or
144 #                         ~/.AppleVolumes before reading
145 #                         :ETCDIR:/AppleVolumes.default
146 #                         (same as -u on command line)
147 #     -[no]uservol        [Don't] Read the user's volume file
148 #     -closevol           Immediately unmount volumes removed from
149 #                         AppleVolumes files on SIGHUP sent to the afp
150 #                         master process.
151 #
152 #   Miscellaneous:
153 #     -authprintdir <path> Specifies the path to be used (per server) to 
154 #                          store the files required to do CAP-style
155 #                          print authentication which papd will examine
156 #                          to determine if a print job should be allowed.
157 #                          These files are created at login and if they
158 #                          are to be properly removed, this directory
159 #                          probably needs to be umode 1777
160 #     -guestname "user"   Specifies the user name for the guest login
161 #                         (default "nobody", same as -g on command line)
162 #     -loginmesg "Message"  Client will display "Message" upon logging in
163 #                         (no default, same as -l "Message" on commandline)
164 #     -nodebug            Switch off debugging
165 #     -client_polling     With this switch enabled, afpd won't advertise
166 #                         that it is capable of server notifications, so that
167 #                         connected clients poll the server every 10 seconds
168 #                         to detect changes in opened server windows.
169 #                         Note: Depending on the number of simultaneously
170 #                         connected clients and the network's speed, this can
171 #                         lead to a significant higher load on your network!
172 #     -sleep   <number>   AFP 3.x wait number hours before disconnecting
173 #                         clients in sleep mode. Default 10 hours
174 #     -tickleval <number> Specify the tickle timeout interval (in seconds).
175 #                         Note, this defaults to 30 seconds, and really 
176 #                         shouldn't be changed.  If you want to control
177 #                         the server idle timeout, use the -timeout option.
178 #     -timeout <number>   Specify the number of tickles to send before
179 #                         timing out a connection.
180 #                         The default is 4, therefore a connection will
181 #                         timeout in 2 minutes.
182 #     -[no]icon           [Don't] Use the platform-specific icon. Recent
183 #                         Mac OS don't display it any longer.
184 #     -volnamelen <number>
185 #                         Max length of UTF8-MAC volume name for Mac OS X.
186 #                         Note that Hangul is especially sensitive to this.
187 #                           255: limit of spec
188 #                           80:  limit of generic Mac OS X (default)
189 #                           73:  limit of Mac OS X 10.1, if >= 74
190 #                                Finder crashed and restart repeatedly.
191 #                         Mac OS 9 and earlier is not influenced by this,
192 #                         Maccharset volume names are always limitted to 27.
193 #     -[un]setuplog "<logtype> <loglevel> [<filename>]"
194 #                         Specify that any message of a loglevel up to the
195 #                         given loglevel should be logged to the given file.
196 #                         If the filename is ommited the loglevel applies to
197 #                         messages passed to syslog.
198 #
199 #                         By default (no explicit -setuplog and no buildtime
200 #                         configure flag --with-logfile) afpd logs to syslog
201 #                         with a default logging setup equivalent to
202 #                         "-setuplog default log_info".
203 #
204 #                         If build with --with-logfile[=somefile]
205 #                         (default logfile /var/log/netatalk.log) afpd
206 #                         defaults to a setup that is equivalent to
207 #                         "-setuplog default log_info [netatalk.log|somefile]"
208 #
209 #                         logtypes:  Default, AFPDaemon, Logger, UAMSDaemon
210 #                         loglevels: LOG_SEVERE, LOG_ERROR, LOG_WARN,
211 #                                    LOG_NOTE, LOG_INFO, LOG_DEBUG,
212 #                                    LOG_DEBUG6, LOG_DEBUG7, LOG_DEBUG8,
213 #                                    LOG_DEBUG9, LOG_MAXDEBUG
214 #
215 #                Example: Useful default config
216 #                         -setuplog "default log_info /var/log/afpd.log"
217 #
218 #                         Debugging config
219 #                         -setuplog "default log_maxdebug /var/log/afpd.log"
220 #
221 #     -signature { user:<text> | auto }
222 #                         Specify a server signature. This option is useful
223 #                         while running multiple independent instances of
224 #                         afpd on one machine (eg. in clustered environments,
225 #                         to provide fault isolation etc.).
226 #                         Default is "auto".
227 #                         "auto" signature type allows afpd generating
228 #                         signature and saving it to afp_signature.conf
229 #                         automatically (based on random number).
230 #                         "host" signature type switches back to "auto"
231 #                         because it is obsoleted.
232 #                         "user" signature type allows administrator to
233 #                         set up a signature string manually.
234 #                         Examples: three servers running on one machine:
235 #                               first   -signature user:USERS
236 #                               second  -signature user:USERS
237 #                               third   -signature user:ADMINS
238 #                         First two servers will act as one logical AFP
239 #                         service. If user logs in to first one and then
240 #                         connects to second one, session will be
241 #                         automatically redirected to the first one. But if
242 #                         client connects to first and then to third, 
243 #                         will be asked for password twice and will see
244 #                         resources of both servers.
245 #                         Traditional method of signature generation causes
246 #                         two independent afpd instances to have the same
247 #                         signature and thus cause clients to be redirected
248 #                         automatically to server (s)he logged in first.
249 #     -k5keytab <path>
250 #     -k5service <service>
251 #     -k5realm <realm>
252 #                         These are required if the server supports
253 #                         Kerberos 5 authentication
254 #     -ntdomain
255 #     -ntseparator
256 #                         Use for eg. winbind authentication, prepends
257 #                         both strings before the username from login and
258 #                         then tries to authenticate with the result
259 #                         through the availabel and active UAM authentication
260 #                         modules.
261 #     -dircachesize entries
262 #                         Maximum possible entries in the directory cache.
263 #                         The cache stores directories and files. It is used
264 #                         to cache the full path to directories and CNIDs
265 #                         which considerably speeds up directory enumeration.
266 #                         Default size is 8192, maximum size is 131072. Given
267 #                         value is rounded up to nearest power of 2. Each
268 #                         entry takes about 100 bytes, which is not much, but
269 #                         remember that every afpd child process for every
270 #                         connected user has its cache.
271 #     -fcelistener host[:port]
272 #                         Enables sending FCE events to the specified host,
273 #                         default port is 12250 if not specified. Specifying
274 #                         mutliple listeners is done by having this option
275 #                         once for each of them.
276 #     -fceevents fmod,fdel,ddel,fcre,dcre,tmsz
277 #                         Speficies which FCE events are active, default is
278 #                         fmod,fdel,ddel,fcre,dcre.
279 #     -fcecoalesce all|delete|create
280 #                         Coalesce FCE events.
281 #     -fceholdfmod seconds
282 #                         This determines the time delay in seconds which is
283 #                         always waited if another file modification for the
284 #                         same file is done by a client before sending an FCE
285 #                         file modification event (fmod). For example saving
286 #                         a file in Photoshop would generate multiple events
287 #                         by itself because the application is opening,
288 #                         modifying and closing a file mutliple times for
289 #                         every "save". Defautl: 60 seconds.
290 #     -keepsessions       Enable "Continuous AFP Service". This means the
291 #                         ability to stop the master afpd process with a
292 #                         SIGQUIT signal, possibly install an afpd update and
293 #                         start the afpd process. Existing AFP sessions afpd
294 #                         processes will remain unaffected. Technically they
295 #                         will be notified of the master afpd shutdown, sleep
296 #                         15-20 seconds and then try to reconnect their IPC
297 #                         channel to the master afpd process. If this
298 #                         reconnect fails, the sessions are in an undefined
299 #                         state. Therefor it's absolutely critical to restart
300 #                         the master process in time!
301 #     -noacl2maccess      Don't map filesystem ACLs to effective permissions.
302 #
303 #   Codepage Options:
304 #     -unixcodepage <CODEPAGE>  Specifies the servers unix codepage,
305 #                               e.g. "ISO-8859-15" or "UTF8".
306 #                               This is used to convert strings to/from
307 #                               the systems locale, e.g. for authenthication.
308 #                               Defaults to LOCALE if your system supports it,
309 #                               otherwise ASCII will be used.
310 #
311 #     -maccodepage <CODEPAGE>   Specifies the legacy clients (<= Mac OS 9)
312 #                               codepage, e.g. "MAC_ROMAN".
313 #                               This is used to convert strings to the
314 #                               systems locale, e.g. for authenthication
315 #                               and SIGUSR2 messaging. This will also be
316 #                               the default for volumes maccharset.
317 #
318 #   CNID related options:
319 #     -cnidserver <ipaddress:port>
320 #                               Specifies the IP address and port of a
321 #                               cnid_metad server, required for CNID dbd
322 #                               backend. Defaults to localhost:4700.
323 #                               The network address may be specified either
324 #                               in dotted-decimal format for IPv4 or in
325 #                               hexadecimal format for IPv6.
326 #
327 #   Avahi (Bonjour) related options:
328 #     -mimicmodel <model>
329 #                               Specifies the icon model that appears on
330 #                               clients. Defaults to off. Examples: RackMac
331 #                               (same as Xserve), PowerBook, PowerMac, Macmini,
332 #                               iMac, MacBook, MacBookPro, MacBookAir, MacPro,
333 #                               AppleTV1,1, AirPort
334 #
335
336
337 #
338 # Some examples:
339 #
340 #       The simplest case is to not have an afpd.conf.
341 #
342 #       4 servers w/ names server1-3 and one w/ the hostname. servers
343 #       1-3 get routed to different ports with server 3 being bound 
344 #       specifically to address 192.168.1.3
345 #
346 #           -
347 #           server1 -port 12000
348 #           server2 -port 12001
349 #           server3 -port 12002 -ipaddr 192.168.1.3
350 #
351 #       a dedicated guest server, a user server, and a special
352 #       AppleTalk-only server:
353 #
354 #           "Guest Server" -uamlist uams_guest.so \
355 #                   -loginmesg "Welcome guest! I'm a public server."
356 #           "User Server" -uamlist uams_dhx2.so -port 12000
357 #           "special" -ddp -notcp -defaultvol <path> -systemvol <path>
358 #
359
360
361 # default:
362 # - -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword