Permissions
如何禁止 chroot 使用者使用“cd ..”
我想限制使用者訪問文件(就在他的目錄之外),所以我使用了 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)
。