我有一個 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 準備進行設定。