使用者透過 SSH 進入資料夾,但 nano 可以進入任何上層資料夾嗎?

使用者透過 SSH 進入資料夾,但 nano 可以進入任何上層資料夾嗎?

我做到了useradd -s /bin/rbash -d /var/www/html/directory USRNAME

並且在使用 USRNAME(包括 ssh 密鑰)進行 ssh 登入時,它會轉到directory並且 cd 不會返回。所以這有效...但是

如果他們使用nano /var/www/html/.env(之前目錄)它會說

Unable to create directory /var/www/html/directory/.local/share/nano/: Permission denied
It is required for saving/loading search history or cursor positions.

Press Enter to continue

如果他們按下enter它將允許他們閱讀任何使用 nano.. 檔案在系統中的任何位置!

任何幫助僅允許該用戶該特定目錄僅使用谷歌雲

答案1

rbash 不是限制 shell 使用者的安全方法。它僅限制 shell 輸入,而不限制可執行檔案的檔案系統存取。在標準 Linux 系統上,$PATH 中有很多可存取的工具來解決這些限制,而不僅僅是 nano。

適當的限制存取是透過創建 chroot 環境或監獄來完成的,但這還需要提供所有需要的可執行文件,甚至可能是 /dev、/sys 或 /proc 硬連結。

您可以修改 $PATH 以僅包含安全性命令,但這是一個雷區,本質上也要求您建立單獨的可執行檔集合。

您看到的錯誤可能與不允許使用者寫入 /var/www/html/directory 有關,但與當前的實際問題無關。

相關內容