ディストリビューション: 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
、起動スクリプトは に設定され/bin/bash
、 のコード セクションを削除して/etc/ssh/sshd_config
元の設定に戻しました。
この時点で私は完全に迷っています。何かご意見があればいただければ幸いです。
新しい情報 別のユーザーも追加し、正常にログインできました。その後、そのユーザーグループを最初のユーザーのグループに変更すると、最初のユーザーと同じ結果になりました。
その後、グループを削除して再作成しましたが、それでもログインできませんでした。その後、ユーザーとテスト アカウントを別のグループに変更したところ、正常に動作しました。
....それで、これは解決したと思いますが、一体何が起こったのでしょうか?
アップデート
さて、今日は作業を再開しました。すべてをクリーンな状態にした後、ほぼ同じ手順を使用しました。make_chroot_jail.sh スクリプトを使用して環境を作成しました。chroot/etc/ssh/sshd_config
フォルダーに 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
今日はもう時間切れなので、2 つのファイルの権限を解放してみるつもりですが、そうすると chroot を実行する目的の一部が達成されなくなってしまいます。
答え1
次のディレクトリに対して 'mount --bind' を試してください。最初に /dev、次に /dev/pts を実行してください。
ルートシェル>マウント --bind /dev /var/jail/dev
ルートシェル>マウント --bind /dev/pts /var/jail/dev/pts
よろしく、デイビッド
答え2
解決策の説明から判断すると、chroot をセットアップしたときにグループ権限に関して何らかのエラーが発生したに違いありません。すべてを削除して再作成したため、それが何であったかを正確に把握することは困難です。推測ですが、開始時にユーザーが属していた 1 つのグループを除くすべてのユーザーが chroot 内のファイルを読み取り可能にする設定を作成できたと考えられます。