vsftpd 虛擬用戶
虛擬用戶:
- 所有虛擬用戶會統一映射為一個指定的系統帳號:訪問共享位置,即為此系統帳號的家目錄
- 各虛擬用戶可被賦予不同的訪問權限,通過匿名用戶的權限控制參數進行指定
虛擬用戶帳號的存儲方式:
文件:編輯文本文件,此文件需要被編碼為hash 格式Berkeley DB database,奇數行為用戶名,偶數行為密碼
db_load -T -t hash -f vusers.txt vusers.db
關系型數據庫中的表中:實時查詢數據庫完成用戶認證
vsftpd 支持mysql庫:pam要依賴于pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README
實現基于文件驗證的vsftpd虛擬用戶
創建用戶數據庫文件
[root@centos8 ~]#rpm -qf `which db_load`
libdb-utils-5.3.28-37.el8.x86_64
[root@centos8 ~]#vim /etc/vsftpd/vusers.txt
wang
wangpass
mage
magepass
[root@centos8 ~]#db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
[root@centos8 ~]#chmod 600 /etc/vsftpd/vusers.*
創建用戶和訪問FTP目錄
[root@centos8 ~]#useradd -d /data/ftproot -s /sbin/nologin -r vuser
[root@centos8 ~]#mkdir -pv /data/ftproot/upload
[root@centos8 ~]#setfacl -m u:vuser:rwx /data/ftproot/upload
#chmod a=rx /data/ftproot/ 如果自動創建家目錄,需修改權限
創建pam配置文件
[root@centos8 ~]#vim /etc/pam.d/vsftpd.db
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
指定pam配置文件
[root@centos8 ~]#vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.db
虛擬用戶建立獨立的配置文件
#指定各個用戶配置文件存放的路徑
[root@centos8 ~]#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers.d/
#創建各個用戶配置文件存放的路徑
[root@centos8 ~]#mkdir /etc/vsftpd/vusers.d/
#創建各用戶自已的配置文件,允許wang用戶可讀寫,其它用戶只讀
[root@centos8 ~]#vim /etc/vsftpd/vusers.d/wang
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#創建各用戶自已的配置文件
[root@centos8 ~]#vim /etc/vsftpd/vusers.d/mage
#登錄目錄改變至指定的目錄
local_root=/data/ftproot2
本文鏈接:http://www.thecarconnectin.com/35983.html
網友評論comments