vsftpd(多用户访问不同的目录)
实现目标test1 用户访问/mnt/m200/test1 test2用户访问/mnt/m200/test2 sutest用户访问/mnt/m200 (centos7.5)
1. 关闭 setenforce 0 iptables -F
2.创建用户文件 vim /etc/vsftpd/vusers.list
3.创建数据库文件db_load -T -t hash -f vusers.list vusers.db
chmod 600 /etc/vsftpd/vusers.*
4.创建虚拟用户映射到的服务器用户的目录
useradd -d /home/ftproot -s /sbin/nologin ftproot
chmod 755 /var/ftproot/
5.创建虚拟用户pam认证文件
vim /etc/pam.d/vsftpd
注释原有文件内的内容添加如下:
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
注:此步骤写错会后期会报500 421 530等错误。 所以注意
6.创建虚拟用户目录mkdir /etc/vsftpd/vusers_dir
进入目录写当个用户的配置文件比如vim test1
local_root=/mnt/m200/test1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
write_enable=YES
类似添加一个用户就要写一个配置文件在目录下,主目录给sutest(/mnt/m200)
7.改vsftpd.conf配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
#pam文件认证
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#虚拟用户配置控制
anon_umask=022
guest_enable=YES
user_config_dir=/etc/vsftpd/vusers_dir
#匿名用户访问目录
local_root=/var/ftp
#日志服务
use_localtime=YES
dual_log_enable=YES
#不知道是啥反正开启、、
allow_writeable_chroot=YES
8.重启服务
systemctl restart vsftpd
9.验证
ftp 127.0.0.1输入对应的密码不报错能在虚拟用户自己目录下创建删除文件。