This is the config file from an install of ProFTPD 2.9.1. /disk01 is a read only section of the ftp server. Anonymous access is granted for everyone. In the directory /disk01/incoming you can write, but you can not overwrite or delete files or directories. This server is locked down pretty good for an anon server. Change setting to suit your needs.
The config file is named proftpd.conf. It can usually be found in the /etc dir.
# ProFTPd configuration file # Daemon configuration ServerName "FTP Server" ServerType standalone DisplayConnect /etc/issue.net AllowOverride off AllowOverwrite off AllowForeignAddress off DeleteAbortedStores on DefaultServer on DeferWelcome on ServerIdent off UseReverseDNS on IdentLookups off TimesGMT off UseGlobbing on MultilineRFC2228 on ShowSymlinks off RootLogin off RequireValidShell no DenyFilter \*.*/ ListOptions +R strict # Lockdown connections and connection attemps MaxClients 3 "The maximum number of allowed users (%m) are already connected." MaxInstances 3 MaxClientsPerUser 3 "The maximum number of clients (%m) for this user already connected." MaxHostsPerUser 3 "The maximum number of hosts (%m) for this user already connected." MaxClientsPerHost 1 "The maximum number of clients (%m) from your host are already connected." MaxLoginAttempts 1 # Lockdown TCP stack Port 21 PassivePorts 63570 63750 SocketOptions rcvbuf 8192 SocketOptions sndbuf 8192 CommandBufferSize 512 tcpBackLog 5 tcpNoDelay on TransferRate APPE,STOR 12000 TransferRate RETR 12000 # Log format and location LogFormat default "%t %h %a %s %m %f %b %T \"%r"\" ExtendedLog /var/log/proftpd ALL default SystemLog /var/log/proftpd ALL default TransferLog /var/log/proftpd ALL default # Limit login times and timeouts to drop dead clients. TimeoutLogin 60 TimeoutIdle 60 TimeoutNoTransfer 60 TimeoutStalled 60 TimeoutSession 28800 # Setup fake properties DirFakeGroup on ftp DirFakeUser on ftp DirFakeMode 0400 # User Access Control <Limit LOGIN> Deny All </Limit> # Anonymous configuration <Anonymous /disk01> User ftp Group nogroup UserAlias anonymous ftp HideNoAccess on <Limit LOGIN> Allow All </Limit> <Limit ALL> Deny All </Limit> <Limit PWD CWD LIST RETR> Allow ALL </Limit> <Directory /disk01/incoming> Umask 022 022 <Limit MKD STOR> Allow All </Limit> </Directory> </Anonymous>