FTP服务(3)实现基于文件验证的vsftpd虚拟用户
1、虛擬用戶
所有虛擬用戶會統(tǒng)一映射為一個指定的系統(tǒng)帳號:
訪問共享位置,即為此系統(tǒng)帳號的家目錄各虛擬用戶可被賦予不同的訪問權(quán)限,通過匿名用戶的權(quán)限控制參數(shù)進(jìn)行指定虛擬用戶
帳號的存儲方式:
文件:編輯文本文件,此文件需要被編碼為hash格式
奇數(shù)行為用戶名,偶數(shù)行為密碼
db_load -T -t hash -f vusers.txt vusers.db
關(guān)系型數(shù)據(jù)庫中的表中:
實時查詢數(shù)據(jù)庫完成用戶認(rèn)證
mysql庫:
pam要依賴于pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README
?
2、實現(xiàn)基于文件驗證的vsftpd虛擬用戶
- 實驗環(huán)境:centos7.4(ip=192.168.218.135)
- iptables -F 關(guān)閉防火墻,臨時生效下次重啟機器失效
- setenforce 0 關(guān)閉SELinux,臨時生效下次重啟機器失效
虛擬用戶的實現(xiàn)
所有虛擬用戶會統(tǒng)一映射為一個指定的系統(tǒng)帳號:訪問共享位置,即為此系統(tǒng)帳號的家目錄
各虛擬用戶可被賦予不同的訪問權(quán)限,通過匿名用戶的權(quán)限控制參數(shù)進(jìn)行指定
1)創(chuàng)建用戶數(shù)據(jù)庫文件
vim /etc/vsftpd/vusers.txt user1 user1pass user2 user2pass db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db chmod 600 /etc/vsftpd/vusers.db2)創(chuàng)建系統(tǒng)用戶和FTP目錄
useradd -r -d /data/ftp/ -s /sbin/nologin vuser mkdir -pv /data/ftp/pub/chmod -w /data/ftp/ setfacl -m u:vuser:rwx /data/ftp/pub/3)創(chuàng)建pam配置文件
vim /etc/pam.d/vsftpd.db auth required pam_userdb.so db=/etc/vsftpd/vusers #這里指定數(shù)據(jù)庫文件,不需要加.db account required pam_userdb.so db=/etc/vsftpd/vusers4)指定pam配置文件
vim /etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=vuser #指定系統(tǒng)用戶 pam_service_name=vsftpd.db #指定pam配置文件5)建立各虛擬用戶獨立的配置文件
mkdir /etc/vsftpd/vusers.d/vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers.d/vim /etc/vsftpd/vusers.d/user1 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES #匿名用戶可刪除和修改上傳的文件 mkdir /data/user2/vim /etc/vsftpd/vusers.d/user2 systemctl restart vsftpd?
轉(zhuǎn)載于:https://www.cnblogs.com/Gmiaomiao/p/9229273.html
總結(jié)
以上是生活随笔為你收集整理的FTP服务(3)实现基于文件验证的vsftpd虚拟用户的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。