BiberPinguin
24.09.11, 08:37
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
Match Group chroot
ChrootDirectory /home/%u
AllowTCPForwarding no
PasswordAuthentication yes
Match
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
root:x:0:0:root:/root:/bin/bash
chrootruser:x:10000:1000::/home:/bin/bash
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
chrootruser:x:10000:1000::/home/chrootruser/home:/bin/bash
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
-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? .bashrc und .profile halfen (mir) nicht wirklich. :-/
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
Match Group chroot
ChrootDirectory /home/%u
AllowTCPForwarding no
PasswordAuthentication yes
Match
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
root:x:0:0:root:/root:/bin/bash
chrootruser:x:10000:1000::/home:/bin/bash
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
chrootruser:x:10000:1000::/home/chrootruser/home:/bin/bash
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
-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? .bashrc und .profile halfen (mir) nicht wirklich. :-/
Gruß
Heiko