yum install -y vsftpd
#安装vsftpd服务
rpm -qa | grep vsftpd
#查看vsftpd版本信息
vim /etc/selinux/config
#更改selinux=disabled
setenforce 0
#关闭selinux
getenforce
#查看selinux状态
firewall-cmd --permanent --add-service=ftp
#防火墙放行vsftpd
firewall-cmd --reload
#防火墙配置立即生效
firewall-cmd --list-all
#查看防火墙放行服务
systemctl start vsftpd
# 启动vsftpd服务
systemctl enable vsftpd
# 开机自启动vsftpd服务
useradd virtual -d /home/ftp -s /bin/false
useradd -s /sbin/nologin ftpuser1
#创建用户并禁止ssh登录
useradd -s /sbin/nologin ftpuser2
useradd -s /sbin/nologin ftpadmin
mkdir -p /home/ftp
#用户主目录
chmod 777 -R /home/ftp
#更改目录权限
修改 /etc/vsftpd/vsftpd.conf #vsftpd主配置
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES
chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES
修改/etc/pam.d/vsftpd
vim /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
注释所有内容,添加以上内容
vim /etc/vsftpd/loginusers.conf
#将用户名与密码添加进去
ftpuser1
123456
ftpuser2
123456
ftpadmin
123456
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db
mkdir /etc/vsftpd/userconf
#创建用户配置文件夹
vim /etc/vsftpd/userconf/ftpuser1
#用户配置文件
local_root=/home/ftp (设定所属目录,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使ftpuser1用户的能下载,也只能下载;写成YES,将不能列出文件和目录)
vim /etc/vsftpd/userconf/ftpuser2
local_root=/home/ftp (限制目录)
anon_world_readable_only=NO
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
保存退出
vim /etc/vsftpd/userconf/ftpadmin
local_root=/home/ftp
anon_world_readable_only=NO
anon_umask=022 (权限设置为755)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
若用户无法登录,尝试将用户配置删除,一条一条添加进去