VSFTPD:將使用者的預設目錄設定為不是他們的 chroot 目錄

VSFTPD:將使用者的預設目錄設定為不是他們的 chroot 目錄

我有一個 VSFTPD 設置,其中用戶被 chroot 到他們的主目錄。標準的東西。但這要求他們的所有主目錄都不可寫(以避免安全問題)。之內他們的 chroot。

但現在他們每次上傳都必須切換到該資料夾。如果我使用 VSFTPD 設定檔中的 local_root 選項將其預設登入位置移至該可寫資料夾,那麼成為他們的 chroot,我們又回到了第一點:它是不可寫的。

我的問題是,如何將 VSFTPD 放置使用者的預設位置移至 chroot 監獄內的可寫入目錄,而不使 chroot 目錄本身可寫入?

答案1

使用 vsftpd 只有一種方法可以做到這一點,並且必須在系統 passwd 檔案中設定路徑。無法在 vsftpd.conf 檔案中設定路徑。

在 /etc/vsftpd.conf 檔案中,設定以下兩個選項:

chroot_local_user=是
passwd_chroot_enable=是

您還必須變更使用者的 unix 主目錄以指示 chroot Jail 的根目錄。 chroot 監獄根目錄將位於/./主目錄路徑的左側。即/ftphome/./home/user/會將 chroot 監獄設定為/ftphome/,監獄內的使用者目錄將會是home/user。您可以透過執行以下命令來做到這一點:

sudo usermod -d /ftphome/./home/user/ user

顯然,chroot 目錄和其中的使用者目錄應該按照正常的 chroot 準備進行設定。

相關內容