Ubuntu Server搭建FTP服务器(1) -- 匿名服务器架设
参考:ubuntu中文wiki百科,网址:wiki.ubuntu.org.cn
环境:Ubuntu 9.04 Server+VSFTPD 2.0.7
slmagicbox@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, 故上传文件权限为 677-077=600
drwx------ 2 ftp nogroup 4096 2009-05-11 13:53 test
#匿名用户默认上传umask=077, 故上传文件夹权限为 777-077=700