安装vsftpd
- 检查是否安装了vsftpd
# rpm -q vsftpd
- 如果没有找到,安装vsftpd
# yum install -y vsftpd
- 安装完成后在检查一次
# whereis vsftpd
启动ftp服务
- 查看vsftpd服务的状态
# systemctl status vsftpd.service
- 启动vsftpd服务并查看状态
# systemctl start vsftpd.service
# systemctl status vsftpd.service
- 设置vsftpd服务开机自启
# systemctl enable vsftpd.service
创建ftp的用户
新建vsftpd系统用户
- 新建vsftpd用户并指定用户路径/home/vsftpd 禁止登陆
# useradd vsftpd -d /home/vsftpd -s /bin/false
新建虚拟用户
- 创建虚拟用户主目录,比如虚拟用户叫ftptest,执行下面的命令。
# mkdir -p /home/vsftpd/ftptest
# chown vsftpd:vsftpd /home/vsftpd/ftptest
- 创建虚拟用户,用户/密码:ftptest/ftp123
# vi /etc/vsftpd/loginusers.conf
ftptest
ftp123
这样就增加了用户名为ftptest密码为ftp123的用户(单数行为账户,双数行为密码)
- 根据文件生成虚拟用户数据库并授权
# db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
# chmod 600 /etc/vsftpd/loginusers.db
- 启用这个数据库文件
# vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
注:注释掉文件中所有内容,粘贴以上两行内容(如32位系统,则需要把lib64改为lib)
- 创建虚拟用户配置文件
# mkdir /etc/vsftpd/userconf
# cd /etc/vsftpd/userconf
# touch ftptest
- 编辑ftptest虚拟用户配置
# vi /etc/vsftpd/userconf/ftptest
local_root=/home/vsftpd/ftptest/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
设定主目录为/home/vsftpd/ftptest/,具有读、写、创建、其他等权限
修改主配置vsftpd.conf文件
备份配置文件(避免出现意外时恢复)
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
修改配置文件
- 编辑vsftpd.conf文件
# vi /etc/vsftpd/vsftpd.conf
- 找到文件中内容修改,找不到的新增
略
保存编辑后的文件
:wq
配置完成,重启ftp服务使配置生效
# systemctl restart vsftpd.service
防火墙配置(防火墙关闭的可忽略)
- 允许访问ftp
# firewall-cmd --permanent --zone=public --add-service=ftp
# firewall-cmd --reload
- 连接到ftp后,如无法查看ftp home目录下的文件或者文件夹
# getsebool -a | grep ftp
# setsebool -P ftpd_full_access on