在 Ubuntu 中的 vsftpd 中設定使用者及其根目錄

在 Ubuntu 中的 vsftpd 中設定使用者及其根目錄

我想www-data為 vsftpd 設定一個使用者並將其根目錄設定為/somepath/www-data/project.

我怎樣才能做到這一點?

答案1

vsftpd 手冊頁是這裡。另請查看範例目錄顯示不同可能的 FTP 配置。

真實用戶

假設您希望真正的系統使用者存取 ftp,您必須設定該選項local_enable=是。但如果您這樣做,所有用戶將自動能夠透過 FTP 登入。因此,透過設定設定 FTP 用戶白名單可能是個好主意userlist_enable=是,userlist_deny=否並指定 '使用者列表文件'。如果您希望將使用者鎖定在其主目錄中,您可以設定chroot_local_user=是

最小樣本/etc/vsftpd.conf:

# Access rights
anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
write_enable=YES

虛擬用戶

Vsftpd 也透過 PAM 整合支援虛擬用戶。放guest_enable=是在 /etc/vsftpd.conf 中。這具有將每個非匿名成功登入對應到 ' 中指定的本機使用者名稱的效果訪客用戶名'。然後,使用 PAM 和(例如)其 pam_userdb 模組提供針對外部(即非 /etc/passwd)使用者儲存庫的驗證。我從未親自使用過此配置,但在 中有虛擬使用者設定的範例範例目錄

答案2

首先以 root 身分登入:sudo -i。
然後新增使用者: useradd -d /somepath/www-data/project -m user

然後該用戶應該能夠登入。

相關內容