centos7搭建ftp服务器

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

 

posted on 2022-05-08 09:46  james-roger  阅读(612)  评论(0编辑  收藏  举报