1、检查机器是否有安装过vsftpd,以下命令是查看ftp版本的(若已安装)
rpm -qa | grep vsftpd
如果有,则使用 rpm -e 删除该文件
二、安装ftpd
yum install vsftpd
启动服务
systemctl start vsftpd
配置开机启动
systemctl enable vsftpd
配置防火墙
防火墙还没有启动,首先启动防火墙
systemctl start firewalld
新建一个防火墙规则,以允许端口21以及40000-450000的端口。
firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --zone=public --permanent --add-port=40000-45000/tcp
重启防火墙,使配置生效。
sudo firewall-cmd --reload
配置VSFTPD
FTP可通过主动模式和被动模式与客户机进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实IP等原因。建议选择被动模式搭建FTP服务,以下为被动模式的配置,FTP服务的行为由/etc/vsftpd/vsftpd.conf配置文件确定。
1 首先备份配置文件的副本
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
这样可以确保出现问题之后,可以返回到默认的配置。
2 使用命令编辑配置文件 vi /etc/vsftpd/vsftpd.conf,在文件最后面添加如下内容
anonymous_enable=NO #注意将之前的注释调,或修改之前的位置 local_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES #注意将之前的注释调,或直接修改之前的位置 local_root=/var/ftp/test allow_writeable_chroot=YES pasv_enable=YES pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP pasv_min_port=40000 pasv_max_port=45000 userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO
3 vsftpd提供了一种创建批准用户列表的方法。要以这种方式管理用户,在配置文件中添加
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
创建用户
创建一个新的FTP用户
sudo adduser ftpyao
为用户yao设置密码
sudo passwd ftpyao
将用户添加到用户列表
echo "ftpyao" | sudo tee -a /etc/vsftpd/user_list
为新用户创建目录,并调整权限
sudo mkdir -p /home/ftpyao/ftp/upload
sudo chmod 550 /home/ftpyao/ftp
sudo chmod 750 /home/ftpyao/ftp/upload
sudo chown -R ftpyao: /home/ftpyao/ftp
修改后记得重启ftp
systemctl restart vsftpd