Centos 7.8 离线安装vsftpd

一:前言

vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费。此外,它还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。在不影响使用的前提下,管理者可以自行决定客户端是采用匿名开放、本地用户还是虚拟用户的验证方式来登录vsftpd服务器。这样即便黑客拿到了虚拟用户的账号密码,也不见得能成功登录vsftpd服务器。详情可以百度搜索,本文章主要讲解如何安装。

二:目的

由于项目需求,需要安装ftp服务端,所以网上找了好多ftp服务端软件,最终订vsftpd,以下就是具体安装流程。

三:安装环境

服务器系统:centos 7.8
vsftpd版本:vsftpd-3.0.2-28.el7.x86_64.rpm

四:安装前准备工作

1、验证是否已经安装vsftpd

rpm -qa | grep ftp

如果有结果,说明已经安装,可以根据需求考虑是否重新安装。结果如下图


image.png

2、卸载已安装的vsftpd

卸载前,先查看ftp服务是否运行,如果运行中,先停止掉。

systemctl status vsftpd.service # 服务状态查看
systemctl stop vsftpd.service # 停止服务

通过第一步得知已经安装的vsftpd包名为:vsftpd-3.0.2-28.el7.x86_64,开始执行下方命令进行卸载

rpm -e vsftpd-3.0.2-28.el7.x86_64

另外检查下路径是否存在 vsftp目录 /etc/vsftpd/ ,如果存在就删除掉(确保已经卸载干净)

rm - rf /etc/vsftpd

五、开始安装

将安装包放到指定文件夹下,进入到指定文件夹,执行命令,成功结果如图

rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
image.png
  • 设置开机自启
systemctl enable vsftpd.service #设置开机自启
  • 启动vsftpd服务
systemctl start vsftpd.service # 启动服务
  • 找到/etc/vsftpd文件夹
cd /etc/vsftpd/

至此,vsftpd就安装完成了,下面就需要配置了。

六、服务配置

vsftp两种登录方式:(匿名)和(虚拟用户)推荐配置虚拟用户,可以添加设置用户。本文章主要讲解(虚拟用户)配置方法。

1.修改 vsftpd.conf 配置文件

  • 备份配置文件
cp vsftpd.conf vsftpd.conf.bak
  • vsftpd.conf文件修改标注(切记结尾不能有空格)
anonymous_enable=NO #不允许匿名访问(不登录默认访问某目录)
listen=YES
listen_ipv6 =NO
pasv_enable=YES #被动模式
pasv_min_port=30050 #pasv连接模式时可以使用port 范围的上界,0表示任意
pasv_max_port=30300 #pasv连接模式时可以使用port 范围的下界。
userlist_deny=NO #当userlist_enable为YES,userlist_deny为NO时,FTP服务器仅允许user_list中的用户访问
chroot_local_user=YES #将所有用户限制在主目录(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户都可以逃出主目录,切换到根目录。)
chroot_list_enable=NO #不启动限制用户的名单。YES为启用,NO禁用
allow_writeable_chroot=YES
image.png
  • 服务重启
systemctl restart vsftpd.service # 服务重启

2. 防火墙端口开放

vi /etc/sysconfig/iptables-config

添加开放端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30050/30300 -j ACCEPT

保存退出后,重启防火墙

systemctl restart firewalld

3. 新增 ftp 用户设置主目录

useradd -g root -M -d /mnt/glcHome/dir -s /sbin/nologin ftpuser

Creating mailbox file: File exists
出现这个问题
原来linux下添加用户后,会在系统里自动加一个邮箱(系统邮箱)
路径是:/var/spool/mail/用户名.
可以直接用命令#rm -rf /var/spool/mail/用户名 ,这样就可以再次添加同一名字的用户

rm -rf /var/spool/mail/ftpuser
userdel ftpuser

查看/sbin/nologin在/etc/shells文件中有没有,如果没有需要加入,否则登录会报“530 Login incorrect.”

4.设置用户ftpuser密码

passwd ftpuser
image.png

5.把 /mnt/glcHome/dir 的所有权给ftpuser.root

 chown -R ftpuser.root /mnt/glcHome/dir

七、测试连接

  • 在 window 下可以使用 ftp 命令测试服务程序是否正常
    ftp IP (IP为你的服务器地址),如:ftp 192.168.6.180


    image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容