Hallo Linuxgemeinde,
ich bastel gerade an einer chroot-Lösung, die auf openssh (5.1p1, Debian lenny) basiert und bei der jeder User eine eigene chroot-Umgebung erhalten soll
Der Zugriff soll nicht auf sftp beschränkt werden, d.h. ein bash-Zugriff mit ausgewählten Proggies ist angedacht.
Die Schwierigkeit ist nun, dass das Homeverzeichnis in der Chroot-Umgebung das des Servers ist.
Ich erläuter das Problem man detailliert anhand des Beispielusers "chrootruser"
Die /home/chrootruser/etc/passwd sieht so aus
D.h. das Homeverzeichnis des chrootruser ist auf dem Server /home/chrootruser/home
Dass die Publickey-Authentifizierung funktioniert, lautet der Eintrag in der /etc/passwd
denn das .ssh-Verzeichnis ist im Homeverzeichnis des Users in der Chroot-Umgebung
Logge ich mich nun per SSH mit dem User chrootruser ein, zeigt das Home-Verzeichnis auf die Konfiguration des Servers und nicht auf das innerhalb der chroot-Umgebung
Hat wer ne Idee, in welcher Datei ich welche Variable o.ä. anpassen muss? .
Schreibe ich in die /home/chrooteduser/etc
ist ~ und $HOME nach dem Einloggen tatsächlich geändert.
Nur landet man dannnach dem Login im
Es muss noch eine andere zu manipulieren Stelle geben ....
Gruß
Heiko
ich bastel gerade an einer chroot-Lösung, die auf openssh (5.1p1, Debian lenny) basiert und bei der jeder User eine eigene chroot-Umgebung erhalten soll
Code:
Match Group chroot
ChrootDirectory /home/%u
AllowTCPForwarding no
PasswordAuthentication yes
Match
Die Schwierigkeit ist nun, dass das Homeverzeichnis in der Chroot-Umgebung das des Servers ist.
Ich erläuter das Problem man detailliert anhand des Beispielusers "chrootruser"
Die /home/chrootruser/etc/passwd sieht so aus
Code:
root:x:0:0:root:/root:/bin/bash
chrootruser:x:10000:1000::/home:/bin/bash
Dass die Publickey-Authentifizierung funktioniert, lautet der Eintrag in der /etc/passwd
Code:
chrootruser:x:10000:1000::/home/chrootruser/home:/bin/bash
Logge ich mich nun per SSH mit dem User chrootruser ein, zeigt das Home-Verzeichnis auf die Konfiguration des Servers und nicht auf das innerhalb der chroot-Umgebung
Code:
bash-3.2$ ls
bin dev etc home lib lib64 usr
-bash-3.2$ ls ~
ls: cannot access /home/chrootruser/home: No such file or directory
-bash-3.2$
Hat wer ne Idee, in welcher Datei ich welche Variable o.ä. anpassen muss? .
Schreibe ich in die /home/chrooteduser/etc
Code:
HOME="/home"
ist ~ und $HOME nach dem Einloggen tatsächlich geändert.
Nur landet man dannnach dem Login im
Code:
~/chrooteduser/home$
Es muss noch eine andere zu manipulieren Stelle geben ....
Gruß
Heiko