一、 前提
1. 安装用户需要有sudo权限或者root用户
2. 使用yum安装,要有网络
3. 一个文本编辑器,例如vim,vi
二、 安装vsftpd
1. 更新yum包管理器
sudo yum update -y
2. 安装vsftpd
sudo yum install -y vsftpd
3. 开启vsftpd
# 开启vsftpd服务 sudo systemctl start vsftpd # 开启启动vsftpd sudo systemctl enable vsftpd
?
4. 创建防火墙规则(允许防火墙放行vsftpd监听端口)
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp sudo firewall-cmd --zone=public --permanent --add-service=ftp sudo firewall-cmd –reload
说明:如果你没有开启防火墙,此步骤可以省略。
三、 配置vsftpd
1. 备份我们的配置文件,以防出现问题以后恢复
sudo cp -f /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
2. 打开配置文件 /etc/vsftpd/vsftpd.conf
sudo vim /etc/vsftpd/vsftpd.conf
3. 修改如下配置
3.1 关闭匿名用户(匿名用户有风险)、开启本地用户
# 禁用匿名用户 anonymous_enable=NO # 启动本地用户 local_enable=YES
3.2 开启登录用户上传文件权限(默认为注释,打开注释即可)
write_enable=YES
3.3 配置登录用户只能访问自己的家目录
chroot_local_user=YES allow_writeable_chroot=YES
说明:为了测试目的,我们可以将配置allow_writeable_chroot=YES 将打开,但是管理员采用user_sub_token配置项将更加安全,详情参考:vsftpd文档
3.4 配置管理登录用户列表
# 开启可登录用户列表管理 userlist_enable=YES # 用户列表位置 userlist_file=/etc/vsftpd/user_list # 不拒绝用户列表 userlist_deny=NO
说明:
a. 我们可以编辑用户列表文件/etc/vsftpd/user_list,添加或者删除用户(每一个用户占用一行)。
b. userlist_deny配置项如果为yes,那么user_list文件中的用户将被锁定,不用登录。
4. 重新启动vsftpd服务
sudo systemctl restart vsftpd
四、 创建一个新的FTP用户
4.1 创建一个新的测试用户
sudo adduser testuser sudo passwd testuser
4.2 添加测试用户到可登录用户列表文件中
echo "testuser" | sudo tee –a /etc/vsftpd/user_list
4.3 为新增的用户创建目录并设置权限
# 为testuser用户创建文件上传目录 sudo mkdir –p /home/testuser/ftp/upload # 权限设置 sudo chmod 550 /home/testuser/ftp sudo chmod 750 /home/testuser/ftp/upload # 修改ftp目录及其子目录的用户、用户组为 testuser sudo chown –R testuser: /home/testuser/ftp
4.4 本地测试登录一下
ftp 你的IP
五、 测试FTP服务
5.1 本地登录测试
ftp localhost
5.2 远程登录测试
ftp 你的公网IP or ftp 你的域名
六、 总结
到此就已经在Centos7中安装配置完成vsftpd服务,你可以登录ftp传输文件了。
本文翻译自:https://phoenixnap.com/kb/how-to-setup-ftp-server-install-vsftpd-centos-7
本文暂时没有评论,来添加一个吧(●'◡'●)