1# 2# CONFIGURATION FOR AFPD (Netatalk 2.x) 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 363