CentOS 7安装vsftpd服务教程

前端之家收集整理的这篇文章主要介绍了CentOS 7安装vsftpd服务教程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这个博客必须写!

为了这个ftp服务器上传高了一天的时间!

同事安装centos 7上安装ftp,fz连接的时间报550错误信息!

我就卸载了重装!

1、CentOS卸载vsftpd的方法

如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。

1.1 查找vsftpd服务

  1. [root@localhost /]# rpm -aq vsftpd

返回结果显示

  1. vsftpd-3.0.2-21.el7.x86_64 此处是查找vsftpd的返回结果

表示此服务期之前已经安装过vsftpd服务。

1.2 删除查找到的vsftpd服务

注:在卸载vsftpd之前,先停止vsftpd

  1. /sbin/service vsftpd stop

卸载vsftpd:

  1. rpm -e vsftpd-3.0.2-21.el7.x86_64

warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave 删除时将备份vsftp的用户列表文件

1.3 输入验证命令,验证vsftpd服务是否已经删除

  1. /sbin/service vsftpd stop
  2. Redirecting to /bin/systemctl stop vsftpd.service
  3. Failed to stop vsftpd.service: Unit vsftpd.service not loaded. 找不到vsftpd
  1. /sbin/service vsftpd start
  2. Redirecting to /bin/systemctl start vsftpd.service
  3. Failed to start vsftpd.service: Unit not found. 找不到vsftpd

如果输入以上两个命令都显示找不到vsftpd服务的话,那就证明已经卸载成功。

2、安装vsftpd组件

  1. yum -y install vsftpd

2.1 启动ftp

  1. [root@localhost home] systemctl start vsftpd.service

2.2 放开21端口

  1. firewall-cmd --zone=public --add-port=21/tcp --permanent
  2. [root@localhost /] firewall-cmd --reload

3、vsftpd服务的详细配置

3.1 关闭匿名用户

  1. [root@localhost vsftpd] vim /etc/vsftpd/vsftpd.conf

在vsftpd.conf配置文件修改以下三项:

  1. anonymous_enable=NO
  2. anon_upload_enable=YES
  3. #anon_mkdir_write_enable=YES

然后重启ftp服务:

  1. systemctl restart vsftpd.service

通过配置重启之后,匿名用户不可以登录了。

3.2 建立ftp虚拟宿主账户

新建一个不能登录系统用户. 只用来登录ftp服务,这里如果没设置用户目录。默认是在home下:

  1. useradd ftpuser -s /sbin/nologin

为ftpuser用户设置密码:

  1. passwd ftpuser

3.3 查看ftp的状态

  1. getsebool -a|grep ftp

显示结果:

  1. ftpd_anon_write --> off
  2. ftpd_connect_all_unreserved --> off
  3. ftpd_connect_db --> off
  4. ftpd_full_access --> off
  5. ftpd_use_cifs --> off
  6. ftpd_use_fusefs --> off
  7. ftpd_use_nfs --> off
  8. ftpd_use_passive_mode --> off
  9. httpd_can_connect_ftp --> off
  10. httpd_enable_ftp_server --> off
  11. tftp_anon_write -->tftp_home_dir --> off

将上面红色两项状态设置为on:

  1. setsebool -P allow_ftpd_full_access on
  2. [root@localhost vsftpd] setsebool -P tftp_home_dir on

3.4 配置vsftpd.conf

限制系统用户锁定在/home/ftpuser目录

  1. 如果设置为
  2. chroot_local_userYES
  3. chroot_list_enable=YES(这行可以没有,也可以有)
  4. chroot_list_file=/etc/vsftpd.chroot_list
  5. 那么,凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户
  6. 即,可以浏览其主目录的上级目录.
  7. 所以,如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置,然后在
  8. 文件vsftpd.chroot_list中不添加用户即可(此时,在该文件中的用户都是可以浏览其主目录之外的目录的).
  9. 或者,设置如下
  10. chroot_local_userNO
  11. chroot_list_enable=YES(这行必须要有,否则文件vsftpd.chroot_list不会起作用)
  12. chroot_list_file=/etc/vsftpd.chroot_list
  13. 然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加文件vsftpd.chroot_list(此时,在该文件中的用户都是不可以浏览其主目录之外的目录的)
  14. 中即可(一行一个用户名).

  1. 这里有两种方案,我采用第二种,配置如下:

  2. chroot_local_userNO
  3. chroot_list_enable=YES (这行必须要有,否则文件vsftpd.chroot_list不会起作用)
  4. chroot_list_file=/etc/vsftpd/chroot_list
  5. 默认chroot_list是不存在的

  6.  vim /etc/vsftpd/chroot_list
  7. 然后加入 ftpuser ,表示只有ftpuser不能访问上级目录,重启vsftpd

  8. 3.5 修改权限

  9. 修改/home/ftpuser 的权限为不可写

  10.  chmod a-w /home/ftpuser/taotao
  11. 这是因为我们在上面将/home/ftpuser/taotao文件的权限改为不可写了,那么我们在这个目录下创建一个images文件夹,用来上传文件。并将权限赋值给 ftpuser 用户

  12. [root@localhost taotao] mkdir images
  13. [root@localhost images] chown ftpuser images
  14. 4、开启PASV(被动模式)

  15. /etc/vsftpd/vsftpd.conf 的最下面加入

  16. pasv_enable=YES
  17. pasv_min_port=30000
  18. pasv_max_port=30999
  19. 并且在userlist_enable=YES文件后面添加

  20. userlist_deny=NO
  21. userlist_file=/etc/vsftpd/user_list
  22. 开启防火墙:

  23. [root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent 
  24. [root@localhost taotao]# firewall-cmd --reload
  25. 这样就可以使用ftp服务器上传文件了。


  26. 参考链接:

  27. http://chadou.me/p/184

  28. http://bguncle.blog.51cto.com/3184079/957315/

猜你在找的CentOS相关文章