1. 安装vsftpd   sudo apt-get install vsftpd

   安装后会自动新建一个用户ftp,密码ftp,作为匿名用户登录的默认用户

      

    sudo /etc/init.d/vsftpd restart   重启ftp server

    sudo /etc/init.d/vsftpd start 

    sudo /etc/init.d/vsftpd stop

 

2. 配置 sudo /etc/vsftpd.conf

 

1)  用户进入时路径:  

     默认的路径是  /srv/ftp, 可修改.

     local_root=/home/ftp   #本地用户登录后路径

     anon_root=/home/ftp   #匿名用户登录后路径

 

2)  匿名用户设置

     anonymous_enable=YES   #允许匿名用户登录

     anon_upload_enable=YES  #允许匿名用户上传文件, 相关文件夹必须有写权限,同时  write_enable=YES 开启

      #anon_mkdir_write_enable=YES  #允许匿名用户新建文件夹  推荐关闭

     anon_umask=022  #用户上传文件的权限设置, umask为权限的补码

     chown_uploads=YES  #修改匿名用户上传文件的所有者, 所有者可通过chown_username=whoever 来设置,不推荐使用root

     ftp_username=    # 匿名用户所使用的系统用户名.默认下,此参数在配置文件中不出现, 值为ftp

     sword=YES   # 控制匿名用户登入时是否需要密码,YES不需要,NO需要.默认值为NO.

 

3)  本地用户设置

     基本与匿名用户设置一致

     

4)  目录访问控制

     #chroot_list_enable=YES   # 将用户锁在自己目录中, 具体用户在chroot_list_file中设置

     #chroot_list_file=/etc/vsftpd.chroot_list  # 指出被锁定在自家目录中的用户的列表文件.文件格式为一行一用户.

     #chroot_local_user=YES   # 将本地用户锁定在自家目录中. 当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化, chroot_list_file所指定文件中的用户将不被锁定在自家目录.本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传 shell访问等权限时.因此,只有在确实了解的情况下,才可以打开此参数.默认值为NO.

 

5)  其他设置

     xferlog_enable=YES  #使用上传/下载日志, 日志文件默认为/var/log/vsftpd.log, 可以通过xferlog_file更改

     dirmessage_enable=YES  #进入目录时显示此目录下message_file选项指定的文件(默认为.message)的内容

     use_localtime=YES  #使用本地时间, 否则使用GMT

     connect_from_port_20=YES  #使用20号端口

 

6)  安全选项

     idle_session_timeout=600   #  秒, 用户会话空闲后10分钟断开
     data_connection_timeout=120 # 将数据连接空闲2分钟断开
     accept_timeout=60   # 将客户端空闲1分钟后断
     connect_timeout=60  #中断1分钟后又重新连接
     local_max_rate=50000 # bite 本地用户传输率50K
     anon_max_rate=30000  # bite 匿名用户传输率30K
     pasv_min_port=50000  # 将客户端的数据连接端口改在50000
     pasv_max_port=60000  # 50000—60000之间
     max_clients=200  # FTP的最大连接数
     max_per_ip=4  # 每IP的最大连接数
     listen_port=5555 # 从5555端口进行数据连接