# This is a basic ProFTPD configuration file (rename it to # 'proftpd.conf' for actual use. It establishes a single server # and a single anonymous login. It assumes that you have a user/group # "daemon" and "ftp" for normal operation and anon. ServerName "ProFTPD" ServerType standalone DefaultServer on # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User daemon #Group daemon # hzh add, (set all user's root dir to '/opt/ftp_files_lampp') DefaultRoot /opt/ftp_files_lampp # Normally, we want files to be overwriteable. <Directory /opt/ftp_files_lampp/*> AllowOverwrite on </Directory> # only for the web servers content DefaultRoot /opt/lampp/htdocs <Limit SITE_CHMOD> DenyAll </Limit> # daemon gets the password "xampp" UserPassword daemon 2TgxE8g184G9c # daemon is no normal user so we have to allow users with no real shell RequireValidShell off # daemon may be in /etc/ftpusers so we also have to ignore this file UseFtpUsers off # hzh add for anonymous login <Anonymous /opt/ftp_files_lampp> # After anonymous login, daemon runs as user/group ftp. User daemon Group daemon # The client login 'anonymous' is aliased to the "real" user 'ftp'. 使用用户 anonymous 及 ftp登录,就相当于是使用 daemon登录 UserAlias anonymous daemon UserAlias ftp daemon # Deny write operations to all directories, except for 'incoming' where # 'STOR' is allowed (but 'READ' operations are prohibited), 只有incoming目录是可以上传的 <Directory incoming> <Limit WRITE> AllowAll </Limit> <Limit READ> AllowAll </Limit> <Limit STOR> AllowAll </Limit> </Directory> <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>