CentOS下vsFTP用戶管理主要涉及系統用戶和虛擬用戶,步驟如下:
添加用戶
sudo useradd -m ftpuser # 創建用戶并生成家目錄
sudo passwd ftpuser # 設置密碼
刪除用戶
sudo userdel -r ftpuser # 刪除用戶及家目錄
修改用戶密碼
sudo passwd ftpuser
配置用戶權限
/etc/vsftpd/vsftpd.conf
,設置:chroot_local_user=YES
allow_writeable_chroot=YES # 允許寫入(若需上傳文件)
/etc/vsftpd/user_list
控制用戶訪問權限:
userlist_enable=YES
:啟用用戶列表控制。userlist_deny=NO
:僅允許列表內用戶訪問(白名單);YES
則為黑名單。安裝依賴
sudo yum install db4 db4-utils vsftpd-pam
創建虛擬用戶數據庫
/etc/vsftpd/virtusers.txt
,格式為:username
password
sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
sudo chmod 600 /etc/vsftpd/virtusers.db
配置PAM認證
編輯/etc/pam.d/vsftpd
,添加:
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
修改vsftpd配置
guest_enable=YES
guest_username=virtual_user # 虛擬用戶映射的系統用戶(需提前創建)
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER # 虛擬用戶家目錄
sudo systemctl restart vsftpd
sudo firewall-cmd --add-service=ftp --permanent
sudo firewall-cmd --reload
說明:
useradd
創建,虛擬用戶通過數據庫文件管理,后者無需占用系統賬戶資源。/etc/vsftpd/vsftpd.conf
為主配置文件,虛擬用戶相關文件需手動創建。