CentOS 7 配置FTP(vsftpd)

CentOS 7 配置FTP(vsftpd)

1-首先切换到root用户

$ su
# 输入root密码

2-创建ftp文件夹,目前位置为/ftp,可以自定义
# cd /
# mkdir ftp

3-用yum安装vsftpd
# yum -y install ftp vsftpd

4-查看配置文件所在路径
# rpm -qc vsftpd

5-备份原配置文件
# cd /etc/vsftpd/
# cp vsftpd.conf vsftpd.conf.backup

6-创建密码明文文件(vftpuser为后续创建的guest账户名,可自定义)
# vi /etc/vsftpd/vftpuser.txt
文件内容如下:奇数行为用户名偶数行为密码
testuser
123

7-根据密码明文创建密码db文件
# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

8-查看密码数据文件
# file /etc/vsftpd/vftpuser.db

9-创建vsftpd的guest账户,创建密码
# useradd -d /ftp -s /sbin/nologin vftpuser
# passwd vftpuser
输入密码

10-修改/etc/pam.d/vsftpd文件,把auth和account的所有配置都注释掉,添加以下内容
# vi /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser

11-修改/etc/vsftpd/vsftpd.conf文件,把#anonymous_enable=YES改成anonymous_enable=NO
(注意改完后没有#号)在最下面添加下面内容
# vi /etc/vsftpd/vsftpd.conf
virtual_use_local_privs=YES
guest_enable=YES
guest_username=vftpuser(注意这里的账户为上面创建的guest账户名)
chroot_local_user=YES
allow_writeable_chroot=YES

12-设置vsftpd开机启动
# systemctl enable vsftpd

13-重启vsftpd服务
# systemctl restart vsftpd

14-配置防火墙和SELinux
# firewall-cmd --permanent --zone=public --add-service=ftp
# firewall-cmd --reload
# getsebool -a | grep ftp
# setsebool -P ftpd_full_access on

15-查看vsftpd服务状态
# systemctl status vsftpd.service

16-改变ftp的所属用户为上面创建的guest账户
# chown vftpuser /ftp/

原文地址:https://www.cnblogs.com/moysakura/p/5151663.html