第一步:安装vsftpd

安装命令

    yum install vsftpd -y

查看安装软件所在目录
    
    whereis vsftpd

如果要卸载可以使用下面命令
    
   rpm -e vsftpd

第二步:启动vsftpd 并添加对外端口21

启动

    systemctl start vsftpd

设置开机启动
    chkconfig vsftpd on

添加例外端口

    firewall-cmd --permanent --add-port=21/tcp

重启防火墙
    
    systemctl restart firewalld


查看所有开放端口命令
    
    firewall-cmd --list-ports

第三步:创建ftp用户

创建ftp用户

    useradd -d /data/web/images -g ftp -s /sbin/nologin webftp

删除可以使用
    userdel webftp

参数选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
    登录shell是可以用户登录使用的,比如/bin/bash ,/bin/sh ,/bin/csh......一般 Linux默认的用户shell都是bash,也就是你可以登录进去写命令。
    经典的/bin/nologin就是一个非登录shell,也就是说如果一个用户默认的是它,这个用户即使登录进linux也无法使用linux。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

设置密码

    passwd webftp

第四步:测试ftp(此时登录会发现一个问题,出现530错误)

解决:进入/etc/pam.d 目录 ,编辑 vi vsftpd 修改如下图,红色标记部分

centos卸载 vsftpd 卸载不干净_重启

保存,重启 vsftpd

   systemctl restart vsftpd

 

如果登录出来无法远程访问文件夹问题,可以通过下面方法解决

修改目录权限

  chmod 777 -R  web

vsftpd 一般配置修改

anonymous_enable=NO    #禁用匿名登录

chroot_local_user=YES
chroot_list_enable=NO

  - 当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
  - 当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
 - 当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
 - 当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。


allow_writeable_chroot=YES    # 允许 chroot 用户具备写权限

# 被动模式使用端口范围

    pasv_min_port=30000
    pasv_max_port=30100

防火墙例外中添加 vsftpd 被动模式使用端口范围,然后重启防火墙

完成!