實現目標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輸入對應的密碼不報錯能在虛擬用戶自己目錄下創建刪除文件。