PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : chroot Verzeichnis Frage



Dom
27.03.07, 17:04
Hallo zusammen,

ich möchte auf meinem SuSE Linux Enterprise Server 10 den Zugriff über ssh für bestimmt User einschränken.
Es soll dort einen Support User geben, der nur auf das htdocs Verzeichnis des Apache Servers zugreifen soll.

Dazu habe ich das Tool chroot jail gefunden.

Jetzt habe ich nur eine Frage. Vielleicht ist es auch nur eine reine Verständnis Sache.
Wenn ich den User in ein chroot jail einsperren, muss ich ihm quasi ein System in diesem chroot jail nachbauen mit allen Programmen usw. die er benötigt.
Wenn er jetzt z.B. Veränderungen an er Webseite die sich unter dem htdocs Verzeichnis des Apache befindet vornimmt, wird diese nur in seiner chroot jail Umgebung verändert und nicht in dem "richtigen" htdocs Ordner von Apache?
Änderungen würden danach quasi nur geändert wenn ich als z.B. root hingehe und die Änderungen in das "richtige" htdocs Verzeichnis des Apache kopiere?

Habe ich das so richtig verstanden oder funktioniert das ganze anders?

Gibt es vielleicht einen einfacheren Weg den User auf ein bestimmtes Verzeichnis zu beschränken, dass er nach "oben" nicht verlassen kann, wenn er sich über ssh einlogt?

Danke schon einmal.

MfG
Dominic

$kuLL
27.03.07, 17:32
Nehmen wir mal an, deine htdocs liegen in /srv/www/htdocs. Dann richtest du bspw. die ssh chroot auf /srv/www ein. Dann liegen aber darin auch die für die chroot Umgebung benötigten Verzeichnisse, wie etc oder bin (/srv/www/bin, /srv/www/etc, usw).
/srv/www/htdocs wäre dann das incoming Verzeichnis, in das der User schreiben darf. Alles überhalb von /srv/www ist für den User dann nicht zugänglich.

Allerdings empfinde ich das als dirty Hack und wo immer ich nicht auf ssh restriktiert bin, verwende ich lieber einen richtigen FTP-Server mit Verschlüsselung auf dem Kontroll- und Datenkanal. Da hat man diese ganzen Fummeleien nicht und kann auch alle Vorzüge eines richtigen FTP-Servers nutzen, die SSH nunmal nicht bietet.

Dom
27.03.07, 18:09
Hallo,

ja an FTP dachte ich auch. Aber leider ist die Vorgabe das es über ssh sein soll.

Naja ich teste es mal.

Besten Dank.

MfG
Dominic

Dom
28.03.07, 10:28
Hallo,

ich habe ein nettes Tool gefunden mit dem man relativ einfach eine chroot jail Umgebung aufbauen kann. Es heisst jailkit http://olivier.sessink.nl/jailkit/
Es funktioniert alles wunderbar nur leider bekomme ich noch einen Fehler beim starten von ssh.

Starte ich mit User ssh bekomme ich die Fehlermeldung

server:~$ ssh
You don't exist, go away!

Wie kann ich diesen Fehler beheben? Suche im Internet brachte leider keinen Erfolg

Danke

MfG
Dominic

Roger Wilco
28.03.07, 10:42
Vermutlich fehlen dir die group und passwd Dateien in deiner chroot-Umgebung.

Dom
28.03.07, 11:25
Hallo,

leider nicht. Die Dateien shadow, group und passwd liegen alle unter /etc der chroot Umgebung.

Gibts sonst eventuell noch etwas?

MfG
Dominic

Dom
28.03.07, 12:45
Hallo,

vielleicht hilft das etwas weiter.
Wenn ich z.B. scp aufrufe kommt die Fehlermeldung

server:/usr/bin$ scp
unknown user 1001

Dom
28.03.07, 13:02
Hallo,

mir haben 2 libnss Dateien auf /lib gefehlt.
Die 2 libnss_compat Dateien.

Jetzt kann ich aber leider z.B. mittels pscp keine Dateien kopieren.



E:\Downloads>pscp -v user@192.168.0.1:/home/test.txt .
Looking up host "192.168.0.1"
Connecting to 192.168.0.1 port 22
Server version: SSH-1.99-OpenSSH_4.2
We claim version: SSH-2.0-PuTTY_Release_0.59
Using SSH protocol version 2
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-rsa 1024 5c:54:66:a6:ab:4e:1f:ee:da:02:5f:f4:12:45:8c:b7
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Using username "user".
Using keyboard-interactive authentication.
Password:
Access granted
Opened channel for session
Started a shell/command
Using SFTP
Connected to 192.168.0.1

Server sent command exit status 127
Disconnected: All channels closed
unable to initialise SFTP: could not connect

E:\Downloads>



OK makiere es mal als gelöst.
Es hat noch der sftp-server aus /usr/lib64/ssh/sftp-server gefehlt.

Danke für eure Hilfe.

MfG
Dominic