在 Linux 伺服器上部署 vsftpd 並配合虛擬用戶機制,可實現細粒度的目錄權限控制。本文記錄完整建置流程,供有相同需求的管理員參考。
yum install vsftpd db4-utils -y(或對應套件管理器指令)。devadmin、sales、saleadm 三組帳號,分別對應不同業務目錄權限。

將帳號密碼文字檔透過 db_load 轉換為 Berkeley DB 格式,供 PAM 模組讀取驗證。

virftp),設定 /sbin/nologin 禁止登入 Shell。/var/ftp/soft:所有用戶可讀/下載sales、saleadm 專屬目錄:各自讀寫權限隔離devadmin:管理 /var/ftp/soft 完整權限

編輯 /etc/pam.d/vsftpd,啟用 pam_userdb.so 指向剛建立的 DB 檔案。

關鍵參數:
guest_enable=YES guest_username=virftp user_config_dir=/etc/vsftpd/user_conf virtual_use_local_privs=YES pam_service_name=vsftpd

在 /etc/vsftpd/user_conf/ 下分別建立 anonymous、devadmin、sales、saleadm 設定檔,指定 local_root、write_enable、download_enable 等參數實現權限差異。




systemctl restart vsftpd 後,分別以四組帳號測試登入、列表、上傳、下載、刪除操作,確認權限符合預期。





ftp_home_dir 布林值