fragen stichworte

Chrooted-Benutzer startet nicht in seinem Home-Verzeichnis und lädt sein bash_profiles nicht

Wenn sich der Benutzer anmeldet, startet er in/der Chroot-Datei (Welches ist/var/jail auf dem realen Computer). Ich möchte, dass er in seinem Heimatland beginnt. Er scheint auch keine seiner Profildateien zu laden (.bash.rc usw.). Ich habe das Tutorial befolgt, um die Chroot-Umgebung zu erstellen. So sieht mein/etc/passwd aus:

test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash

So sieht meine/var/jail/etc/passwd-Datei aus:

test:x:1004:1008:,,,:/home/test:/bin/bash

Ich habe das auch herausgefunden, wenn ich

entferne
Match User test
    ChrootDirectory/var/jail
    AllowTCPForwarding no
    X11Forwarding no

Von meiner/etc/ssh/sshd_config aus startet der Benutzer in seinem korrekten Home-Ordner und mit seinen Bash-Einstellungen. Er kann jedoch die Chroot-Umgebung verlassen, wenn ich diesen Teil entferne. Diese -Frage, die ich zuvor gestellt habe, ist etwas verwandt, da ich denke, dass das falsche Aussehen der Befehlszeile auf die nicht geladenen Profildateien zurückzuführen ist. Also irgendwelche Ideen, wie man das beheben kann?

antworten

Ihre Konfiguration ist bis auf ein kleines Detail korrekt: Das Home-Verzeichnis in /etc/passwd sollte den Chroot-Pfadteil nicht enthalten. Ändern Sie es in:

test:x:1004:1008:,,,:/home/test:/bin/bash

Starten Sie sshd neu und versuchen Sie es erneut.

Von man sshd_config:

ChrootDirectory

Specifies the pathname of a directory to chroot(2) to after authentication. All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.

Das heißt, zuerst sshd führt chroot aus (in unserem Fall chroot/var/jail), und dann ändert sshd das Verzeichnis in den Homedir des Benutzers (in unserem Fall cd/home/test - in einer chrootierten Umgebung cd/var/jail/home/test) würde nicht funktionieren)

Wenn Sie Debian/Ubuntu verwenden (da das von Ihnen erwähnte Tutorial für Debian ist), möchten Sie möglicherweise eine Datei namens /var/jail/etc/debian_chroot mit dem Inhalt "chroot" erstellen, die in der Benutzeraufforderung in Klammern wie folgt angezeigt wird: (chroot)test@servername:~$.

(Ich habe Ihre Konfiguration auf meinem Ubuntu 12.04 dupliziert und es hat funktioniert, nachdem /var/jail aus dem Eintrag des Benutzertests in /etc/passwd entfernt wurde.)