# verzeichnis nach ssh login

## KeX

hallo

ich habe auf meinem Gentoo Rechner sshd laufen. Wenn ich mich von einem anderen linuxrechner via console (ssh) einlogge, lande ich im homeverzeichnis dieses users. wenn ich mich jedoch mit meinem laptop (windoof mit ws_ftp pro) einlogge, lande ich in / 

ist beidesmal der selbe user.

kann ich das irgendwie ändern ? hab da schon ein bischen nachgelesen, aber nichts dazu gefunden.

wär super, wenn mir da wer weiterhelfen könnt.

chris...

----------

## birnbaumtruhe

Wenn ich es richtig sehe dann benutzt du zum einen

1. SSH

zum anderen

2. FTP

Meistens kannst du bei deinem FTP Dienst in der Config Datei angeben in welches Verzeichnis der eingeloggte User landet? Welchen FTP Dienst benutzt du oder kann WS_FTP_PRO seit neustem auch SSH?

Grüße.

----------

## KeX

hi

aso, nein, ich benutze sftp. ws_ftp pro kann schon länger sftp

sftp passt doch oder ?

chris...

----------

## leuenberger

Kannst Du bei der SFTP-Session nicht den Remote-Pfad angeben?

Ich benutze unter Linux gFTP und da kann man angeben, in welchem Verzeichnis man starten möchte.

Gruss Reto

----------

## KeX

hi

ich kann bei den ssh optionen von ws_ftp nur trusted hosts und client keys einstellen. keinen pfad. auch sonst in den gesamten optionen nirgends ein pfas einstellbar. müsste man den pfad nicht irgendwo am sshd einsteln ?

chris...

----------

## meyerm

Der Pfad sollte standardmaessig Dein "home" sein. D.h. wenn WSFTP woanders hingeht, macht es was falsch  :Smile: 

Probier einfach mal von einem Linux-System "sftp BENUTZER@DEINRECHNER" und schau mal mit "pwd" wo Du landest. Du koenntest in der /etc/passwd mal Dein Home aendern und dann es nochmal versuchen. Du solltest dann in dem neuen Verzeichniss landen.

----------

## dakjo

Das einfachste ist, installiere Gentoo auf deinem Laptop   :Wink: 

----------

## KeX

hallo

wenn ich vom linux aus ssh user@machine mache, dann komm ich direkt in das home.

hab jetzt gerade mit dem ssh client für windows probiert, da komm ich auch direkt ins home. 

dann wird schon ws_ftp das nicht so richtig verstehen : )

ist es möglich, dass man bei der ssh anmeldung das home verzeichnis als quasi root hat, dass man da nicht herauskommt ? 

@dakjo: dein posting hab i gar nid gsehen : ) nö, da aufm schleppi hab i nu windooof drauf. mal schaun, was i da mach. glaub für nur linux bin i nu zu unerfahren : )

chris...Last edited by KeX on Thu Jul 22, 2004 11:46 am; edited 1 time in total

----------

## gordin

Hi,

oftmals ist es so das 

sftp://user@rechner

im Homeverzeichnis landet und

sftp://user@rechner/

im root-Verzeichnis

----------

## dakjo

 *KeX wrote:*   

> hallo
> 
> wenn ich vom linux aus ssh user@machine mache, dann komm ich direkt in das home.
> 
> hab jetzt gerade mit dem ssh client für windows probiert, da komm ich auch direkt ins home. 
> ...

 

Ja, da gibt es einen chroot patch für :

```
These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] net-misc/openssh-3.8.1_p1-r1  -X509 -chroot -ipv6 -kerberos -ldap +pam -(selinux) -skey -smartcard -static +tcpd -(uclibc)  140 kB 

Total size of downloads: 140 kB

```

----------

## KeX

 *dakjo wrote:*   

> 
> 
> ```
> These are the packages that I would merge, in order:
> 
> ...

 

ähm, des versteh i jetzt nid ganz. was genau soll i da jetzt mergen ?

@gordin: ja, stimmt. sftp://user@rechner landet dann im home.

thx

chris...

----------

## meyerm

 *KeX wrote:*   

>  *dakjo wrote:*   
> 
> ```
> [ebuild   R   ] net-misc/openssh-3.8.1_p1-r1  -X509 -chroot -ipv6 -kerberos -ldap +pam -(selinux) -skey -smartcard -static +tcpd -(uclibc)  140 kB
> ```
> ...

 

dakjo wollte Dich auf das USE-flag "chroot" aufmerksam machen  :Smile: 

Also 

```
USE="chroot" emerge openssh
```

----------

## dakjo

joa, genau das wollte ich  :Wink: 

----------

## KeX

ok, passt

bin gerade dabei : )

muss ich das dann noch irgendwie konfigurieren ?

chris...

----------

## dakjo

Schau doch einfach mal hier.

----------

## KeX

morgen

ich hab mir jetzt die doku durchgelesen, die mir dakjo gegeben hat, allerdings funktioniert das nicht so ganz.

ich hab die /dev/null u. /dev/zero erzeugt, funktioniert.

ich hab auch die angegebenen dateien von /bin kopiert.

ich hab auch die angeführten lib's kopiert, funktioniert auch, doch hab ich da nicht alle in meim /usr/lib Verzeichnis drinnen.

Wenn ich dann chroot ausführ krieg ich die Meldung:

```

chroot: cannot run command 'bin/sh': No such file dor directory

```

brauch ich die angegebenen libs alle ? frag deshalb, da ich sie ja nicht mal auf dem rechner hab.

chris...

----------

## meyerm

"bin/sh" or "/bin/sh"? If the latter is the case: did you copy your bash to the bin dir and created a link? If the first one is true, you should search where you entered the wrong string (look at /etc/passwd)

----------

## KeX

I copied /bin/sh to /home/bin/sh cause i want /home as the new root

is this correct ?

btw, coppied bash and sh to the "new" bin dir.

when i'm in the home dir and type:

```

home # chroot /home bin/sh

chroot: cannot run command 'bin/sh': No such file dor directory

```

i get this.

when i'm somewhere else  and type:

```

/ # chroot /home /bin/sh

chroot: cannot run command '/bin/sh': No such file dor directory

```

i get this.

in /etc/passwd  i have /bin/sh

chris...

----------

## meyerm

Please send us the output of

```
ls -l /home/bin/
```

----------

## meyerm

Whoops - tut mir leid, ich koennte ja ruhig deutsch schreiben wenn ich schon im deutschen Forum bin...  :Wink: 

----------

## KeX

zerwus

ja, deutsch geht auch : )

the output of ls -ls /home/bin

```

-rwxr-xr-x  1 root root 599560 Jul 22 15:27 bash

-rwxr-xr-x  1 root root   49900 Jul 22 15:22 cp

-rwxr-xr-x  1 root root   70720 Jul 22 15:22 ls

-rwxr-xr-x  1 root root   20284 Jul 22 15:22 mkdir

-rwxr-xr-x  1 root root   54368 Jul 22 15:22 mv

-rwxr-xr-x  1 root root   28946 Jul 22 15:22 rm

-rwxr-xr-x  1 root root   13508 Jul 22 15:22 rmdir

-rwxr-xr-x  1 root root 599560 Jul 22 15:22 sh

```

chris...

----------

## meyerm

Schreibst Du die Fehlermeldungen immer mit der Hand oder warum sagt er bei Dir "...file dor directory..."  :Question: 

sh muss uebrigens keine Kopie von bash sein. Ein Verweis genuegt

```

rm sh

ln -s bash sh

```

"Leider" aber war sh keine Verknuepfung die ins Leere zeigt und auch das x-Bit ist gesetzt. Die Partition ist auch nicht falsch eingehaengt, zumindest kaeme dann eine andere Fehlermeldung.

*wurschtel,wurschtel*

Ha, ich habe Deinen Fehler reproduzieren koennen. Du hast in Deinem /home/lib Verzeichniss nicht alle Bibliotheken drin. Meine bash braucht libdl.so.2, libc.so.6 und natuerlich ld-linux.so.2. Kopier die doch alle mal da rein und versuch's nochmal.

----------

## KeX

ok, werd ich gleich mal probiern

ja, i schreib die fehlermeldungen mit der hand, weil i am laptop (windooof) sitz u. daneben der linux server lauft, auf dem i des machen möcht

ich hab die anleitung http://chrootssh.sourceforge.net/docs/chrootedsftp.html benutzt.

da sind auch einige libs drinnen, die ich kopieren soll

allerdings hab ich da einige nicht.

/home/usr/lib

libc.so

libdl.so

libnsl.so

mehr sind da nicht drinnen.

werd jetzt die von dir probieren

danach nerv ich wieder oder bedank mich ; )

chris...

----------

## KeX

ok, funzt : )

fehler:

1. ich hatte kein /home/lib sondern /home/user/lib --> verzeichnis erstellt

2. fehlende libraries: ld-linux.so.2, libc.so.6, libdl.so.2, libnsl.so, librt.so.1, libncurses.so.5, libpthread.so.0 --> nach /home/lib kopiert

jetzt funktioniert chroot /home /bin/sh

danke.

werd jetzt weiterprobieren.

chris...

----------

## meyerm

Sehr schoen - dann vielleicht bis gleich  :Wink: 

Nebenbei: Mit 

```
ldd /bin/blubb
```

 kannst Du rausfinden welche libs "blubb" braucht.

----------

## KeX

ok, wieder eine frage : )

also, das mit dem chroot klappt.

gut, jetzt hab ich einen neuen user angelegt (tst)

mit dem homeverzeichnis /home/home/tst und der /bin/sh

wenn ich jetzt auf sftp tst@server mache, lande ich jedoch wieder in /

nicht in dem /home

mach ich da noch was falsch ?

chris...

----------

## meyerm

D.h. es existiert ein Verzeichniss /home/home/tst und in der passwd steht als home /home/tst drin?

----------

## KeX

genau

aus /etc/passwd

tst:x:1002:100::/home/home/tst:bin/sh

und ich kann dann überall hin, nicht nur in dem chroot, wo ich eigentlich sein möcht

wenn ich USE="chroot" emerge openssh gemacht hab, kann der sshd das eh oder ?

chris...

----------

## meyerm

Nene, in Deiner passwd steht /home/home/tst und nicht /home/tst, welches ja das Verzeichniss im CHROOT ist.

----------

## KeX

also auf /home/tst ausbessern ?

----------

## meyerm

Versuch's doch mal  :Wink: 

----------

## KeX

nö, bringt auch nixe : |

das is blöde

chris...

----------

## gordin

Ich glaube hier liegt ein kleines Missverständnis vor.

Wenn du dich einloggen willst und per chroot das rootverzeichnis ändern willst geht das nicht "einfach so".

Der User loggt sich ganz normal ein, es wird aber automatisch ein

sudo(root)->chroot $HOME su $user ausgeführt.

Dazu musst du eine faux-shell erstellen und als user shell angeben

Mehr dazu hier.

----------

## meyerm

Interessant. Doch er wollte ja das automatische Feature vom OpenSSH Server nutzen.

Ausserdem hat diese Variante einen Nachteil. Rein theoretisch koennte der Benutzer beim Anmelden CTRL-C druecken und schon haette er eine normale Shell. Es sollten zumindest traps abgefangen werden.

----------

## KeX

jetzt kenn ich mich nicht mehr aus : )

also: ich hab in einem kleinen netzwerk einen server stehen. da sollen sich die leute per ssh anmelden u. ihre daten drauf speichern. (vorgabe)

ich möchte aber nicht, dass sie direkt nach dem login in / ladnen bzw. von ihrem home heraus können, sondern so wie auf einem ftp server irgendwo eingesperrt sind, jedoch verschlüsselt (sftp)

hab jetzt beide Varianten ausprobiert, aber keine der beiden funktioniert so richtig bei mir. irgendwo ist da noch ein fehler drinnen.

@gordin: ich hab das jetzt mit dem gemacht, was du mir geschrieben hast. wenn ich mich jetzt einlogge, kommt 

```
We trust you have received the usual lecture from the local System Administrator. It usually boils downh to these two things:

#1) Respect the privacy of others.

#2) Think before you type.

Password:
```

egal welches pwd ich jetzt eingebe, keines funktioniert.

@meyerm: weisst du noch weiter ? Hab dir eh pn geschrieben.

der sich nimma wirklich auskennt - chris...

----------

## gordin

sorry, mein fehler...

ich hatte das Gefühl du versuchst dich mit dem user lokal per bash einzuloggen...

----------

## KeX

aso

nana, per ssh einloggen.

chris...

----------

## meyerm

Tja, so langsam weiss ich nicht mehr. Dein "nicht-einloggen-koennen" Problem (s. PN) koenntest vielleicht beheben wenn Du im sshd "UseLogin yes" einstellst. Aber warum Du immer noch "gechrootest" wirst, weiss ich leider nicht.

Ich habe auch auf der chroot Mailingliste nachgeschaut und diese Frage wird recht haeufig gestellt - aber fast nie beantwortet. Und wenn sie beantwortet wird, dann hatte der Benutzer fast immer einen Fehler ala Punkt vergessen gemacht :-/

Tut mir leid, dass ich Dir nicht weiterhelfen kann.  :Sad: 

----------

## st4n

in die proftpd.conf:

DefaultRoot ~

dann landest du nichtmehr in / sondern in $HOME und kannst auch nicht mehr nach .. cd`n

----------

## meyerm

 *st4n wrote:*   

> in die proftpd.conf:

 

KeX wollte kein FTP sondern sftp mit Hilfe des sshd.

Allen einen Schoenen Sonntag  :Smile: 

----------

## KeX

hallo

hat da noch irgendwer eine Ahnung ?

Wär super.

chris...

----------

## KeX

so, hab das prob gelöst. mit jail

http://www.jmcresearch.com/projects/jail/

geht ganz super.

chris...

----------

