Permissions

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

  • September 1, 2020

我有一個 VSFTPD 設置,其中使用者被 chroot 到他們的主目錄。標準的東西。但這要求他們所有的主目錄對他們來說都是不可寫的(以避免安全問題)。沒問題,如果他們想要上傳文件,他們可以將它們上傳到他們的 chroot 中的可寫文件

但是現在他們每次上傳都必須更改到該文件夾中。如果我使用 VSFTPD 配置文件中的 local_root 選項將他們的預設登錄位置移動到該可寫文件夾,那麼將成為他們的 chroot,我們回到第一個問題:它不能是可寫的。

我的問題是,如何在不使 chroot 目錄本身可寫的情況下,將 VSFTPD 放置使用者的預設位置移動到其 chroot 監獄中的可寫目錄?

只有一種方法可以使用 vsftpd 執行此操作,並且必須在系統 passwd 文件中設置路徑。無法在 vsftpd.conf 文件中設置路徑。

在 /etc/vsftpd.conf 文件中,設置以下兩個選項:

chroot_local_user=YES
passwd_chroot_enable=YES

您還必須更改使用者的 unix 主目錄以指示 chroot jail 的根目錄。chroot jail root 將位於/./主目錄路徑左側的路徑。即/ftphome/./home/user/會將chroot 監獄設置為/ftphome/使用者目錄所在的監獄home/user。您可以通過執行以下操作來做到這一點:

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

顯然,裡面的 chroot 目錄和使用者目錄應該按照正常的 chroot 準備設置。

引用自:https://serverfault.com/questions/1031496