环境:Ubuntu 9.04 Server+VSFTPD 2.0.7slmagicbox@ubuntu904server:~$ uname -a
Linux ubuntu904server 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux
slmagicbox@ubuntu904server:~$ dpkg -l | grep vsftpd
ii vsftpd 2.0.7-0ubuntu1 The Very Secure FTP Daemon
原始配置文件/etc/vsftpd.conf:本配置文件为安装vsftpd后默认生成的,以“#”开头为注释项
# Example config file /etc/vsftpd.conf
listen=YES #以standalone模式运行vsftpd
#listen_ipv6=YES
anonymous_enable=YES #允许匿名用户访问
#local_enable=YES
#write_enable=YES
#local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES #当用户首次进入FTP服务器的目录时,显示该目录下的message消息,默认为.message文件,可以用message_file来定义
xferlog_enable=YES #启用日志,默认路径/var/log/vsftpd.log
connect_from_port_20=YES #数据连接使用默认的ftp-data端口(20端口)
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# chroot_list_enable below.
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
# Debian customization
secure_chroot_dir=/var/run/vsftpd #忽略
pam_service_name=vsftpd #忽略
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #忽略
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #忽略
slmagicbox@ubuntu904server:~$ cd /home
slmagicbox@ubuntu904server:/home$ ls -l | grep ftp
drwxr-xr-x 2 root nogroup 4096 2009-05-11 10:38 ftp
功能:1) 默认功能:
匿名用户可以登录,下载。但是无上传、修改权限。并且限制在ftp用户文件夹(/home/ftp) 下访问.
2)匿名用户上传功能:
write_enable=YES #启用全局上传
anon_upload_enable=YES #启用匿名用户上传
anon_mkdir_write_enable=YES #启用匿名用户新建文件夹权限,建议不开启
slmagicbox@ubuntu904server:/home$ sudo chown -R ftp\: ftp/
slmagicbox@ubuntu904server:/home$ ls -l | grep ftp
drwxr-xr-x 2 ftp nogroup 4096 2009-05-11 10:44 ftp
结果出错: 500 OOPS: vsftpd: refusing to run with writable anonymous root
原因: the user that runs as the daemon (in this case user "ftp") cannot have write access to the anonymous root directory.
结论: 匿名用户主目录(/home/ftp) 无法作为上传目录,需新建文件夹,并开启相应写权限
slmagicbox@ubuntu904server:/home$ sudo chown -R root:nogroup ftp
slmagicbox@ubuntu904server:/$ cd /home/ftp
slmagicbox@ubuntu904server:/home/ftp$ sudo mkdir upload
slmagicbox@ubuntu904server:/home/ftp$ sudo chown ftp\: upload/
slmagicbox@ubuntu904server:/home/ftp$ sudo chmod 755 upload
slmagicbox@ubuntu904server:/home/ftp$ ls -l
drwxr-xr-x 2 ftp nogroup 4096 2009-05-11 13:30 upload
验证: ###***(1)通过ftp新建一个文件夹 (2)通过ftp上传一个文件至upload目录,并注意查看两者权限 ***###
slmagicbox@ubuntu904server:/home/ftp/upload$ ls -l
-rw------- 1 ftp nogroup 0 2009-05-11 13:45 test2 #匿名用户默认上传umask=077, 故上传文件权限为 666-077=600
drwx------ 2 ftp nogroup 4096 2009-05-11 13:53 test #匿名用户默认上传umask=077, 故上传文件夹权限为 777-077=700
Ubuntu Server搭建FTP服务器
内容版权声明:除非注明,否则皆为本站原创文章。