Vsftpd 支援虛擬用戶與被動模式,能更靈活管理 FTP 存取權限。本文從安裝到配置完整記錄實作步驟。

yum install db4* vsftpd -y
useradd vsftpd -s /sbin/nologin # 服務宿主用戶
useradd ftp -s /sbin/nologin # 虛擬用戶宿主用戶
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=NO # 啟用被動模式
chroot_list_enable=NO
listen=YES
pam_service_name=vsftpd
guest_enable=YES # 啟用虛擬用戶
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
touch /etc/vsftpd/user_list
echo -e "testuser\n123456" >> /etc/vsftpd/user_list
db_load -T -t hash -f /etc/vsftpd/user_list /etc/vsftpd/user.db
編輯 /etc/pam.d/vsftpd,在 #%PAM-1.0 後插入:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
在 /etc/vsftpd/vconf/ 下建立以用戶名命名的文件,可單獨設定權限、目錄等。
完成後重啟 vsftpd 服務即可使用虛擬用戶以被動模式登入。