一:前言
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
如果有结果,说明已经安装,可以根据需求考虑是否重新安装。结果如下图
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
- 设置开机自启
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
- 服务重启
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
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