1、安装vsftp软件:yum install vsftpd
2、启动vsftp:
systemctl enable vsftpd
systemctl start vsftpd
systemctl status vsftpd
3、配置vsftp:
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
vim vsftpd.conf
4、创建虚拟用户:
cp /etc/vsftpd/vsftpd.conf{,.bak}
vim /etc/vsftpd/vir_user:单数行用户名,双数行密码:
yum install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db
cp /etc/pam.d/vsftpd{,.bak}
useradd -d /data/ftproot -s /sbin/nologin virftp
chown -R virftp:virftp /data/ftproot/
vim /etc/vsftpd/vsftpd.conf(没有的添加,有的不对的修改)
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES
[root@localhost vsftpd_viruser]# cat bas_config_backup
#允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
#允许虚拟用户上传文件
anon_upload_enable=YES
#允许虚拟用户创建目录
anon_mkdir_write_enable=YES
#允许虚拟用户执行其他操作(如改名、删除)
anon_other_write_enable=YES
#上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
#指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/data/ftproot/test1
虚拟用户和本地用户同时可以登录:
sufficient表示充分条件,也就是说,一旦在这里通过了验证,那么也就不用经过下面剩下的验证步骤了。相反,如果没有通过的话,也不会被系统立即挡之门外,因为sufficient的失败不决定整个验证的失败,意味着用户还必须将经历剩下来的验证审核
需要把虚拟用户认证放在前面。