# [solved]chroot ssh login

## gabelhonz

Hi,

hab mir ein chroot environment aufgesetzt in dem nur ssh die bash und noch paar andere kleinigkeiten laufen.

Funktioniert alles wunderbar. Ich logg mich per ssh auf meim Server ein und komme in die chroot env.

Allerdings muss ich als homedir immer / angeben.

Das heißt das wenn sich der user einloggt das Homedir / ist, er sieht also /bin /sbin/ usw...

Ich hätte gerne ein anderes homedir für den user z.B /home/userdir. Das Problem ist dann logischerweise das er beim login /bin/bash nicht mehr findet, da /bin ja eins höher liegt. Gibt es da eine möglichkeit dies zu unterbinden. Ist zwar nur ein optisches problem aber mich stört es.

gruß

----------

## STiGMaTa_ch

Ich verstehe dein Problem nicht ganz.

Einfach in der Chroot Umgebung die /etc/passwd Datei anpassen und das Home Verzeichnis darin auf /home/user setzen.

Lieber Gruss

STiGMaTa

----------

## gabelhonz

Klingt logsich funktioniert aber nicht, es ist egal was ich in der chroot passwd als homedir eintrage, er nimmt nur das homedir der richtigen passwd.

Beispiel:

Real host hat:

test:x:1010:1015::/var/www/vhost/chroot/./:/bin/bash

Chroot env hat:

test:x:1010:1015::/home/test:/bin/bash

habe hier auch schon versucht den ganzen pfad anzugeben mit /var/www/vhost/chroot/home/test.

Funktioniert leider auch nicht. So wie es aussieht brauch er nur die ids aus der passwd.

Oder mache ich was falsch?

gruß

----------

## STiGMaTa_ch

 *gabelhonz wrote:*   

> [...] es ist egal was ich in der chroot passwd als homedir eintrage, er nimmt nur das homedir der richtigen passwd.

 

Das ist nicht möglich, wenn du die Chroot Umgebung korrekt konfiguriert hast. Ich vermute du machst da irgendwas grundlegendes falsch.

1.) Wie lautet der Pfad zu deiner Chroot Umgebung? (/var/www/vhost/chroot  :Question: )

2.) Wechsle mal in dieses Verzeichnis und zeige den Output von ls -alF.

3.) Wie lautet der genaue Befehl, mit dem du die Chroot Umgebung aufrufst.

Lieber Gruss

STiGMaTa

----------

## gabelhonz

 *STiGMaTa_ch wrote:*   

>  *gabelhonz wrote:*   [...] es ist egal was ich in der chroot passwd als homedir eintrage, er nimmt nur das homedir der richtigen passwd. 
> 
> Das ist nicht möglich, wenn du die Chroot Umgebung korrekt konfiguriert hast. Ich vermute du machst da irgendwas grundlegendes falsch.
> 
> 1.) Wie lautet der Pfad zu deiner Chroot Umgebung? (/var/www/vhost/chroot )
> ...

 

Hi,

zu 1: /var/www/vhost/chroot. Allerdings muss ich das so abändern damit mein sshd es als chroot akzeptiert: /var/www/vhost/chroot/./

zu 2: 

```

drwx------  2 test   test     28 Jun 17 19:14 .ssh/

drwxr-xr-x  2 root   root     39 Jun 16 11:51 bin/

drwxr-xr-x  2 root   root     17 Jun 16 11:56 dev/

drwxr-xr-x  3 root   root     92 Jun 18 18:38 etc/

drwxr-xr-x  3 test   test     92 Jun 18 18:38 home/

drwxr-xr-x  2 root   root   4096 Jun 16 11:51 lib/

drwxr-xr-x  6 root   root     51 Jun 16 11:51 usr/

```

Ich komme immer hier rein, will aber nach home

zu 3: Ich logge mich per ssh mit dem user test ein, lande aber im in / anstatt im homedir.

Ja irgendwas veraff ich total, aber danke für die Hilfe.

gruß

----------

## gabelhonz

Hi,

ok habs gefixt. Folgendermaßen:

Meine Chroot Env liegt unter: /chroot/

das ganze sieht so aus:

```

drwxr-xr-x  8 root root 4096 Jun 19 15:41 ./

drwxr-xr-x 21 root root 4096 Jun 19 15:30 ../

drwxr-xr-x  2 root root 4096 Jun 19 15:30 bin/

drwxr-xr-x  2 root root 4096 Jun 19 15:38 dev/

drwxr-xr-x  2 root root 4096 Jun 19 15:48 etc/

drwxr-xr-x  3 root root 4096 Jun 19 15:41 home/

lrwxrwxrwx  1 root root    5 Jun 19 15:35 lib -> lib64/

drwxr-xr-x  2 root root 4096 Jun 19 15:40 lib64/

drwxr-xr-x  6 root root 4096 Jun 19 15:36 usr/

```

Die passwd im chroot sieht so aus:

```

test:x:1001:1007::/home/test:/bin/bash

```

Die passwd im realen Host so:

```
test:x:1001:1007::/chroot/./home/test:/bin/bash
```

Mein Fehler lag an der passwd im realen Host:

Falsch war:

```
 test:x:1001:1007::/chroot/./:/bin/bash
```

Habe es nun geändert auf:  *Quote:*   

> test:x:1001:1007::/chroot/./home/test:/bin/bash

 

und es funktioniert jetzt. Das hat mich irritiert mit dem ./ 

Konnte auch keine Doku darüber finden wie das zu handhaben ist. 

gruß

----------

