虛擬用戶不佔用系統帳號,透過資料庫驗證並映射至單一系統用戶,安全且易管理。本文涵蓋資料庫建立、PAM 設定、目錄授權與 vsftpd 詳細配置。
vi /tmp/logins.txt
內容格式(用戶名與密碼各佔一行,無空格):
longyufei 1985731 liushuai 123456
db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db chmod 600 /etc/vsftpd_login.db
vi /etc/pam.d/ftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
useradd -d /ftp -s /sbin/nologin virtual chown -R virtual:virtual /ftp
-d /ftp:指定主目錄-s /sbin/nologin:禁止系統登入virtual:所有虛擬用戶映射的系統帳號vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES connect_from_port_20=YES listen=YES listen_port=21 tcp_wrappers=YES guest_enable=YES guest_username=virtual user_config_dir=/etc/vsftpd/user_config_dir pam_service_name=ftp.vu local_root=/www
關鍵參數說明:
guest_enable=YES:啟用虛擬用戶guest_username=virtual:映射至系統用戶 virtualuser_config_dir:個別用戶配置目錄pam_service_name=ftp.vu:對應 PAM 設定檔local_root=/www:預設 FTP 根目錄vi /etc/vsftpd/user_config_dir/longyufei
anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES local_root=/www/longyufei anon_mkdir_write_enable=YES
至此,用戶 longyufei 擁有 /www/longyufei 完整讀寫權限。