Ssh

chroot 目錄組件的所有權或模式錯誤

  • April 19, 2022

我創建了使用者 MY_USER。將他的主目錄設置為 /var/www/RESTRICTED_DIR,這是他應該被限制的路徑。然後我編輯了 sshd_config 並設置:

Match user MY_USER
 ChrootDirectory /var/www/RESTRICTED_DIR

然後我重新啟動了ssh。將 MY_USER 設為 RESTRICTED_DIR 的所有者(和組所有者),並將其更改為 755。我明白了

Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER

如果我從 sshd_config 中刪除了 2 行,則使用者可以成功登錄。當然它可以訪問所有伺服器。有什麼問題?我什至嘗試將 RESTRICTED_DIR 設置為 root(當我在某處讀到有人解決了同樣的問題時)。沒運氣..

頁面_man

ChrootDirectory

指定 chroot(2) 認證後的目錄路徑名。 路徑名的所有組件必須是任何其他使用者或組不可寫的根目錄。在 chroot 之後,sshd(8) 將工作目錄更改為使用者的主目錄。

我的猜測是路徑上的一個或多個目錄不符合這些要求(我懷疑是www您的網路使用者擁有或可寫,而不是 root)。

返回並按照說明進行操作,確保滿足上述粗體斜體的要求。

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