web-dev-qa-db-ja.com

Chrootがうまくいかず、ユーザーとsshできません

ディストリビューション:Scientific Linux 6.5(Carbon)。Linuxの典型的なブランドではありません。

SSHの これらの手順 を使用してユーザーをchrootしようとしましたが、明らかに失敗しました。そのユーザーでログインすることすらできません。私は/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にコードを入力して、元の設定に戻します。

私はこの時点で完全に迷子になっています。どんな洞察もいただければ幸いです。

新しいInformatoin別のユーザーを追加して、正常にログインできました。次に、そのグループを最初のユーザーのグループに変更し、最初のユーザーと同じことを行いました。

その後、グループを削除して再作成しましたが、まだログインできませんでした。次に、ユーザーとテストアカウントを別のグループに変更しましたが、正常に機能しました。

....それで、これは解決されたと思いますが、一体何が起こったのでしょうか?

更新

了解しました。今日はまた戻ってきました。すべてに素敵なきれいなスレートを与えた後、ほとんど同じ指示を使用しました。 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

今日は時間切れですが、2つのファイルのアクセス許可を解放してみますが、それはchrootを実行する目的の一部を無効にします。

3
Mason

ソリューションの説明を考えると、chrootを設定するときに、グループのアクセス許可に誤りがあったに違いありません。すべてを削除して再作成したので、それが何であったかを正確に把握するのは困難です。推測では、chroot内のファイルが、開始時にユーザーが属していた1つのグループを除いて、すべての人が読み取れる設定を作成できました。

1
Jenny D

以下のディレクトリを「mount --bind」してみてください。最初に/ devを実行してから、/ dev/ptsを実行してください。

root-Shell> mount --bind/dev/var/jail/dev

root-Shell> mount --bind/dev/pts/var/jail/dev/pts

よろしく、デビッド

0
David Loh