1.創建一個虛擬用戶的數據庫文件
vim /etc/vsftpd/vuser.list
jerry
jerry
tom
tom
//單行為賬戶,雙行為密碼
使用db_load命令用hash算法生成ftp用戶的數據庫文件vuser.db
db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db --為了安全性,權限改小一些
rm -rf vuser.list --刪除原始賬號和密碼的文件
2.創建ftp根目錄及虛擬用戶映射的系統用戶
useradd -d /var/ftproot/ -s /sbin/nologin virtual
chmod -R 755 /var/ftproot
3.建立支持虛擬用戶的pam認證文件
vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser --db指向剛剛生成的vuser.db文件,但是不要后綴
account required pam_userdb.so db=/etc/vsftpd/vuser
4.修改/etc/vsftpd/vsftpd.conf配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO --禁止匿名用戶登錄
local_enable=YES --允許本地用戶登錄
guest_username=virtual --指定虛擬用戶映射的賬號
pam_service_name=vsftpd.vu --指定pam文件,原來默認的pam文件是vsftpd
user_config_dir=/etc/vsftpd/vusers_dir --用戶獨立權限配置文件的目錄
5.為虛擬用戶設置不同的權限
現在jerry和tom的賬號權限一樣,默認都是不能上傳,創建,修改文件,現在給他們配置自己獨立的權限
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
vim tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
6.重啟服務,驗證
service vsftpd restart
用另外一台服務器訪問該ftp
lftp xxx.xxx.xxx.xxx -u tom
試試能否上傳和下載文件
如果有問題,看看selinux和iptables是否關閉。