發行版:Scientific Linux 6.5 (Carbon),不完全是典型的 Linux 品牌。
嘗試使用 chroot 用戶這些說明對於 SSH,顯然失敗了,現在我什至無法使用該用戶登入。我檢查了/var/log/secure
一下是否可以闡明這一點,然後我得到了以下資訊。
: Address aaa.bbb.ccc.ddd maps to "A_Certain_Computer"
: Accepted password for student.fesns from aaa.bbb.ccc.ddd port ##### ssh2
: pam_unix(sshd:session): session opened for user student.fesns by (uid=0)
: error: /dev/pts/2: No such file or directory
: error: open /dev/tty failed - could not set controlling tty: No such file or directory
: pam_unix(sshd:session): session closed for user student.fesns
我檢查了這兩個文件,它們確實存在。然後,我嘗試恢復我為嘗試 chroot 用戶所做的更改,因此主目錄返回到/home/User
,並且啟動腳本設置為 ot /bin/bash
,並且我刪除了程式碼部分/etc/ssh/sshd_config
以將其恢復為原始設定。
此時我完全迷失了。任何見解將不勝感激。
新資訊 我還添加了另一個用戶並能夠成功登入。然後我將其群組更改為第一個使用者的群組,然後它執行與第一個使用者相同的操作。
之後我刪除並重新建立了該群組,仍然無法登入。然後我將使用者和測試帳戶更改為不同的群組,並且工作正常。
....所以我想這已經解決了,但是到底發生了什麼事?
更新
好吧,那我今天又回來了。在給一切一個乾淨的石板後,使用了幾乎相同的說明。使用 make_chroot_jail.sh 腳本建立環境。更改/etc/ssh/sshd_config
以便它能夠 chroot 到 chroot 資料夾。
資料夾方案:/home/chroot/{bin,dev,etc,home,lib,lib64,sbin,usr}
我還確認了 dev 資料夾包含 tty 字元設備,此外,我了解到 pts 專案無法正常調用,因為它們並不是真正的文件或其他東西。無論如何,遵循該指導,並重新啟動服務,然後我得到以下內容,而不是原來的錯誤。
: error: /dev/pts/1: Permission denied
: error: open /dev/tty failed - could not set controlling tty: Permission denied
不過今天時間到了,我將嘗試釋放這兩個檔案的權限,但這有點違背了執行 chroot 的部分目的。
答案1
嘗試“mount --bind”以下目錄。確保先執行 /dev,然後執行 /dev/pts。
root-shell> mount --bind /dev /var/jail/dev
root-shell> mount --bind /dev/pts /var/jail/dev/pts
問候,大衛
答案2
根據您對解決方案的描述,您在設定 chroot 時一定在群組權限方面犯了一些錯誤。由於您已經刪除並重新創建了所有內容,因此很難弄清楚它到底是什麼。據猜測,您已成功創建設置,其中 chroot 中的文件可供所有人讀取,除了您開始時用戶所在的群組之外。