Ubuntu Server搭建FTP服务器

环境: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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjywx.html