Chroot ist schiefgelaufen, SSH mit Benutzer nicht möglich

Chroot ist schiefgelaufen, SSH mit Benutzer nicht möglich

Distribution: Scientific Linux 6.5 (Carbon), nicht gerade Ihre typische Linux-Marke.

Versuch, einen Benutzer zu chrooten mitdiese Anweisungenfür SSH und ist ganz offensichtlich fehlgeschlagen, und jetzt kann ich mich nicht einmal mit diesem Benutzer anmelden. Ich habe nachgeschaut, /var/log/secureob das Licht ins Dunkel bringen könnte, und habe Folgendes bekommen.

: 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

Ich habe beide Dateien überprüft und sie existieren tatsächlich. Dann habe ich versucht, die vorgenommenen Änderungen rückgängig zu machen, indem ich versucht habe, den Benutzer zu chrooten, sodass das Home-Verzeichnis wieder auf ist /home/Userund das Startskript auf eingestellt ist /bin/bash. Außerdem habe ich den Codeabschnitt in entfernt, /etc/ssh/sshd_configum es auf die ursprünglichen Einstellungen zurückzusetzen.

Ich bin an diesem Punkt völlig ratlos. Ich wäre für jede Einsicht dankbar.

Neue Informationen Ich habe auch einen weiteren Benutzer hinzugefügt und konnte mich erfolgreich anmelden. Dann habe ich seine Gruppe in die Gruppe des ersten Benutzers geändert und dann passierte dasselbe wie beim ersten.

Danach habe ich die Gruppe gelöscht und neu erstellt, konnte mich aber immer noch nicht anmelden. Dann habe ich den Benutzer und das Testkonto in eine andere Gruppe geändert und es hat einwandfrei funktioniert.

… ich schätze also, das ist gelöst, aber was zum Teufel ist da passiert?

Aktualisieren

Also gut, heute war ich wieder dabei. Habe so ziemlich die gleichen Anweisungen verwendet, nachdem ich alles noch einmal von vorne begonnen hatte. Habe die Umgebung mit dem Skript make_chroot_jail.sh erstellt. Habe sie /etc/ssh/sshd_configso geändert, dass sie in den Chroot-Ordner chrootet.

Ordnerschema: /home/chroot/{bin,dev,etc,home,lib,lib64,sbin,usr}

Ich habe auch bestätigt, dass der Dev-Ordner das TTY-Zeichengerät enthält, und außerdem habe ich erfahren, dass die PTS-Elemente nicht normal aufgerufen werden konnten, weiles waren keine Dateien oder sowas. Auf jeden Fall bin ich diesem Hinweis gefolgt und habe den Dienst neu gestartet und statt des ursprünglichen Fehlers bekam ich dann Folgendes.

: error: /dev/pts/1: Permission denied
: error: open /dev/tty failed - could not set controlling tty: Permission denied

Aber heute ist die Zeit um. Ich werde versuchen, die Berechtigungen für die beiden Dateien freizugeben, aber das macht den Zweck des Chroot-Modus teilweise zunichte.

Antwort1

Versuchen Sie, die folgenden Verzeichnisse mit „mount --bind“ zu mounten. Stellen Sie sicher, dass Sie zuerst /dev und dann /dev/pts ausführen.

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

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

Grüße, David

Antwort2

Ihrer Beschreibung der Lösung zufolge müssen Sie beim Einrichten des Chroots einen Fehler bei den Gruppenberechtigungen gemacht haben. Da Sie alles gelöscht und neu erstellt haben, ist es schwer herauszufinden, was es genau war. Vermutlich haben Sie es geschafft, Einstellungen zu erstellen, bei denen die Dateien im Chroot für alle lesbar waren, mit Ausnahme der einen Gruppe, in der sich die Benutzer befanden, als Sie begonnen haben.

verwandte Informationen