使用VSFTPD在CentOS7上安装FTP服务
使用VSFTPD安装FTP服务
- 首先更新软件包管理器
sudo yum update
- 使用VSFTPD(VSFTPD表示“非常安装的FTP守护程序软件包”)。这是用于创建FTP服务器的相对容易的软件使用工具。使用命令安装VSFTPD
sudo yum install vsftpd
。
- 启动服务,并将其设置为开机启动
启动服务
sudo systemctl start vsftpd
遇到一个错误
具体还没有找到原因,不过在重启之后防火墙没开启之前成功启动vsftpd服务,现在只能这么解决了。
配置开机启动
sudo systemctl enable vsftpd
- 配置防火墙
防火墙还没有启动,首先启动防火墙
sudo systemctl start firewalld
新建一个防火墙规则,以允许端口21以及40000-450000的端口。
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd --zone=public --permanent --add-port=40000-45000/tcp
重启防火墙,使配置生效。
sudo firewall-cmd --reload
配置VSFTPD
FTP可通过主动模式和被动模式与客户机进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实IP等原因。建议选择被动模式搭建FTP服务,以下为被动模式的配置,FTP服务的行为由/etc/vsftpd/vsftpd.conf配置文件确定。
-
首先备份配置文件的副本
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
这样可以确保出现问题之后,可以返回到默认的配置。
-
使用命令编辑配置文件
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
-
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