centos7 搭建vsftp服务器

1:环境配置:

    服务器1: demo1  ip:192.168.75.100

    防火墙关闭: systemctl stop firewalld ; systemctl disable firewalld

    selinux关闭: setenforce 0 ; sed -i 's/enforcing/disabled/g' /etc/selinux/config ; getenforce 

2:  安装vsftpd,lftp ,匿名用户登录,上传,下载,删除

  1:同步时间

    ifconfig,netstat命令:

    [root@demo1 vsftpd]# yum -y install net-tools
    dns设置:
    [root@demo1 ~]# vim /etc/resolv.conf
    nameserver 114.114.114.114
    [root@demo1 ~]# yum -y install ntpdate
    [root@demo1 ~]# ntpdate -u ntp.sjtu.edu.cn >>/var/log/ntp.log 2>&1;hwclock -w

    [root@demo1 ~]# date

    2019年 01月 28日 星期一 13:05:44 CST

  2:  安装vsftpd,lftp

    [root@demo1 ~]# yum -y install vsftpd lftp

    [root@demo1 vsftpd]# cd /etc/vsftpd/
    [root@demo1 vsftpd]# systemctl start vsftpd ; systemctl enable vsftpd

    [root@demo1 vsftpd]# cp vsftpd.conf vsftpd.conf.bak

    [root@demo1 vsftpd]# vim vsftpd.conf

    anonymous_enable=YES 

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    ----------------------
    anonymous_enable=YES #允许匿名用户
    anon_upload_enable=YES #允许匿名用户上传文件
    anon_mkdir_write_enable=YES #允许匿名用户创建文件
    anon_other_write_enable=YES #对匿名用户是特别大的权限,不建议给匿名用户这个权限

    ----------------------

    [root@demo1 vsftpd]# chmod -R 755 /var/ftp/pub/

    [root@demo1 vsftpd]# ll -d /var/ftp/pub/
    [drwxr-xr-x 2 root root 6 8月 3 2017 /var/ftp/pub/
    [root@demo1 vsftpd]# chown -R ftp.ftp /var/ftp/pub/
    [root@demo1 vsftpd]# !sys
    systemctl restart vsftpd

    [root@demo1 vsftpd]# systemctl restart vsftpd

    [root@demo1 vsftpd]# chmod -R 755 /var/ftp/pub/
    [root@demo1 vsftpd]# ll -d /var/ftp/pub/
    [drwxr-xr-x 2 root root 6 8月 3 2017 /var/ftp/pub/
    [root@demo1 vsftpd]# chown -R ftp.ftp /var/ftp/pub/
    [root@demo1 vsftpd]# !sys
    systemctl restart vsftpd

    总结:下载匿名用户可以上传文件,删除文件,创建文件夹。

    但是遇到一个问题:就是上传的文件夹,有的删除不了。

3:vsfpd使用系统用户登录

  [root@demo1 vsftpd]# useradd -s /sbin/nologin team1

  [root@demo1 vsftpd]# echo '123456'|passwd --stdin team1
  更改用户 team1 的密码 。
  passwd:所有的身份验证令牌已经成功更新。

  [root@demo1 vsftpd]# vim chroot_list

  team1

  [root@demo1 vsftpd]# mkdir -p /var/www/head

  [root@demo1 vsftpd]# vim vsftpd.conf

  anonymous_enable=NO

  chroot_list_enable=YES

  local_root=/var/www/head  

  chroot_list_file=/etc/vsftpd/chroot_list
  allow_writeable_chroot=YES

  [root@demo1 vsftpd]# chmod -R o+w /var/www/head/

  [root@demo1 vsftpd]# systemctl restart vsftpd

4:使用ssl加密vsftp

  [root@demo1 vsftpd]# cd /etc/vsftpd/.ssl/

  [root@demo1 .ssl]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 3560
  Generating a 2048 bit RSA private key
  ........................................................+++
  ........................................................................+++
  writing new private key to 'vsftpd.pem'
  -----
  You are about to be asked to enter information that will be incorporated
  into your certificate request.
  What you are about to enter is what is called a Distinguished Name or a DN.
  There are quite a few fields but you can leave some blank
  For some fields there will be a default value,
  If you enter '.', the field will be left blank.
  -----
  Country Name (2 letter code) [XX]:ZH
  State or Province Name (full name) []:JS
  Locality Name (eg, city) [Default City]:NJ
  Organization Name (eg, company) [Default Company Ltd]:XS
  Organizational Unit Name (eg, section) []:XS
  Common Name (eg, your name or your server's hostname) []:XS.COM
  Email Address []:XS@QQ.COM

  [root@demo1 .ssl]# chmod 400 vsftpd.pem

  [root@demo1 .ssl]# cd ..

  [root@demo1 vsftpd]# vim vsftpd.conf

  anonymous_enable=NO

  chroot_list_enable=YES

  local_root=/var/www/head  

  chroot_list_file=/etc/vsftpd/chroot_list
  allow_writeable_chroot=YES

  #config ssl

  ssl_enable=YES

  allow_anon_ssl=NO
  force_local_data_ssl=YES
  force_local_logins_ssl=YES
  force_anon_logins_ssl=YES
  force_anon_data_ssl=YES
  ssl_tlsv1=YES
  ssl_sslv2=YES
  ssl_sslv3=YES
  require_ssl_reuse=NO
  ssl_ciphers=HIGH
  rsa_cert_file=/etc/vsftpd/.ssl/vsftpd.pem
  rsa_private_key_file=/etc/vsftpd/.ssl/vsftpd.pem

  [root@demo1 vsftpd]# chmod -R 755 /var/www/head/

  [root@demo1 vsftpd]# chmod -R o+w /var/www/head/
  [root@demo1 vsftpd]# ll -d /var/www/head
  [drwxr-xrwx 2 root root 6 1月 28 13:38 /var/www/head

  [root@demo1 vsftpd]# systemctl restart vsftpd

  总结:vsftp+ssl登录成功。

菜鸟的自白
原文地址:https://www.cnblogs.com/lzjloveit/p/10330004.html