Permissions

如何禁止 chroot 使用者使用“cd ..”

  • October 21, 2019

我想限制使用者訪問文件(就在他的目錄之外),所以我使用了 chroot,並在登錄時將受限目錄作為他的登錄目錄。

但是,如果我這樣做cd ..,該使用者也可以訪問他目錄之外的所有內容。如何避免這種情況?

我用這個:

adduser --home Rest_folder --shell /bin/bash --no-create-home --ingroup www-data --ingroup ssh rest_user

使用 SSH 時,可以使用其稱為 SFTP 的子系統(不要與 FTPS 混淆)。SFTP 提供了一個 shell,使用者可以在其中執行任何常見的文件任務,例如cp, mv, ls, cd, mkdir, … 但是,由於 chroot 環境,無法通過這種方式訪問rm駐留在其中的其他程序。/bin這個 chroot 環境是由 SSH 守護程序設置的,所以沒有必要糾結細節。

要為某個 SSH 使用者配置 chroot,請將其放入 sshd 配置文件中,該文件主要位於/etc/ssh/sshd_config

Match User rest_user
 ChrootDirectory /home/rest_user
 ForceCommand internal-sftp

您可能還希望為此登錄設置其他標誌:

 AllowTCPForwarding no
 X11Forwarding no

有關更多詳細資訊,請參見 的手冊頁sshd_config (5)

引用自:https://unix.stackexchange.com/questions/547727