本文主要使用Linux发行版是CentOS,其他发行版大同小异

检查系统中是否安装ftp

  1. rpm -qa | grep vsftpd

如果没有任何内容,表示没有安装过,开始安装

  1. yum -y install vsftpd

创建登录用户

创建登录名为ftp_test的用户

  1. useradd -s /sbin/nologin -d /home/ftp_test ftp_test

-s : 用户可用的shell类型
-d : 用户所属的home目录

注意:

  1. 目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建
  2. 注意目录的权限,如果有需要,应该设置相应的权限
  3. 目录、子目录、文件的权限最低应该为 755

给登录名为ftp_test的用户设置密码

  1. passwd ftp_test

修改vsftpd.conf配置文件

vsftpd.conf文件位于/etc/vsftpd目录下

  1. anonymous_enable=NO #表示不允许匿名用户登录,默认为YES
  2. local_enable=YES #允许本地用户登录
  3. wirte_enable=YES #允许本地用户写入
  4. check_shell=NO #如果不配置,就会出现只有root用户可以登陆,普通用户不能登录
  5. local_umark=000 #掩码,决定了上传上来的文件的权限。设置为000使之有最大权限
  6. xferlog_enable=YES #允许记录日志
  7. connect_from_port=20 #允许数据流从20端口传输
  8. xferlog_file=/var/log/vsftpd.log #日志路径
  9. ftpd_banner=hello #登录提示语
  10. chroot_local_user=YES #保证用户锁定在指定的家目录里,防止系统文件被修改
  11. allow_writeable_chroot=YES #这个不配置有可能出现只能下载不能上传
  12. userlist_deny=NO #说明我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户
  13. userlist_enable=YES
  14. userlist_file=/etc/vsftpd/allowed_users #记录允许本地登陆用户名的文件

启动ftp

  1. systemctl start vsftpd