設置 vsftp
初學者
你好,
所以對於學校作業,我必須在 OpenSUSE 上設置一個 FTP 伺服器 (vsftp)。老師告訴我們使用 chroot 列表,但每當我使用 chroot 列表時,所有使用者都可以完全控制整個文件系統。我究竟做錯了什麼?
情況 包含數據的目錄。該目錄內部是另外兩個目錄。其中一個屬於赫爾曼,另一個屬於弗朗茨。Franz 和 Herman 應該能夠在他們自己的目錄中工作,所以我將他們的主目錄指向各自的目錄(/data/Franz 和 /data/Herman)。Herman 不應該能夠在 Franz 的目錄中讀取或寫入,反之亦然。最後,我將目錄的權利和所有權更改為如下所示:
drwxrwxr-x 15 Herman FTP 4096 May 13 15:23 Herman drwxrwxr-x 18 Franz FTP 4096 May 13 14:48 Franz
這是我在
vsftpd.conf
文件中更改的內容。除此之外,一切都保持不變和預設。write_enable = YES local_enable = YES chroot_local_user = YES allow_writeable_chroot = YES anonymous_enable = NO listen = YES listen_ipv6 = NO (we may do not use IPv6)
我已經嘗試取消註釋
chroot_list_enable=YES
並在 chroot_list 中創建包含我想要的所有使用者的文件。這似乎打破了一切。每當我取消註釋有關chroot_lists的所有內容時,它都會按預期工作,但根據我的老師的說法是“錯誤的”。他並沒有真正解釋清楚,所以這就是我在這裡問的原因!誰能把我推向正確的方向?謝謝 :)
非常感謝<3
找到的文件
man vsftpd.conf
如下所示,**
chroot_list_enable
**如果啟動,您可以提供一個本地使用者列表,這些本地使用者在登錄時被放置在其主目錄中的 chroot() 監獄中。到目前為止還可以。但它繼續,
chroot_local_user
如果設置為 ,則含義略有不同YES
。在這種情況下,該列表成為不被放置在 chroot() 監獄中的使用者列表。$$ … $$
稍微進一步閱讀,我們會看到對
chroot_local_user
,**
chroot_local_user
**如果設置為YES
,本地使用者將(預設情況下)在登錄後被放置在其主目錄中的 chroot() 監獄中。$$ … $$
我在您的配置中看到您已啟用
chroot_local_user = YES
. 因此,當您“取消註釋chroot_list_enable=YES
並在 chroot_list 中創建包含我想要的所有使用者的文件”時,您實際上是在創建一個您在 chroot 環境中不需要的使用者的文件。