PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe zu chroot



elrond
08.10.01, 07:42
Hallo allerseits,

ich möchte einem user die möglichkeit geben via ssh/scp daten auf einen server zu kopieren. mittels chroot möchte ich ihn in seinem homedir 'einsperren' stelle mich aber blöd an... :(

hier hin den foren ich noch keinen passenden beitrag dazu gefunden...

kann mir irgendjamand dazu helfen oder hat eine url o.ä. parat ??

:confused:

mustafaB
08.10.01, 14:55
Ciao

Also ich kanns nicht ausprobieren (nicht zuhause), aber du kannst in seinem .profile ein
chroot /home/musa (nehmen wir an der user heisst musa und /home/musa ist sein home verzeichnis).

dann wird er nur in /home/musa drin sein.
ich weiss zwar nicht wass passiert wenn er die shell beendet ob er dann wieder zurück "fällt"...


achtung ohne garantie :D


gruss
Mustafa

elrond
08.10.01, 15:36
genau das habe ich versucht; ich sehe dann,
'chroot: cannot change root directory to /home/ils: Operation not permitted'


:confused:

SuSE 7.2

[ 08. Oktober 2001: Beitrag editiert von: elrond ]

sts
08.10.01, 17:15
hallo

das thema chroot intressiert mich auch, kann leider zum erwähnten problem keine hilfe bieten.

meine frage

ich möchte Prozesse wie squid, apache, mysql usw. in chroot umgebungen verschieben. zurzeit laufen sie unter "root" .
dies mpöchte ich allerdings aendern bevor ich den server ans Inet anhänge.

wie stelle ich das an?

gruss

ste

geronet
08.10.01, 18:27
Wenn ihr etwas chrooted, dann müsst ihr alle Programme und Bibliotheken die verwendet werden sollen in das ge-chrootede Verzeichnis reinkopieren, wie auch genauso in dem Chroot-BIND8-HOWTO.html (http://www.linuxdoc.org/HOWTO/Chroot-BIND8-HOWTO.html) beschrieben.

elrond
09.10.01, 06:47
@geronet: danke, aber das bezieht sich leider sehr speziell auf bind...

mein problem ist, dass ich einen user in seinem homedir 'einsperren' muss/will. ich habe damit das problem, dass ich ja eigentlich die shell des users in einer chroot-umgebung laufen lassen muss (oder ??), und ich weiss nicht wie !


:confused:

[ 09. Oktober 2001: Beitrag editiert von: elrond ]

elrond
09.10.01, 16:32
ist euch das theme zu schwierig oder zu simpel ??? ;)

micha
09.10.01, 18:41
Hallole,

ist ne chroot-Umgebung nicht ein bischen zu aufwendig ?
Vielleicht tuts auch ne "restricetd bash" ?

Erstell dazu mal in /bin nen link namens "rbash" auf "bash" und trägst in der /etc/passwd statts der "bash" die "rbash" als Login-Shell für denjenigen User ein.

Gruß micha

Markus N.
09.10.01, 19:02
Hi

Das Problem daran ist, das chroot nur von root ausgeführt werden kann. Die Anweisungen in der
~/.profile Datei werden hingegen von dem entsprechenden Benutzer ausgeführt, der ja keine root rechte hat.

elrond
10.10.01, 07:31
danke für eure beiteräge!

@micha
habe ich versucht. wenn der user mittels rbash arbeitet wird kein cd erlaubt. klasse, das ist genau das was ich brauche... allerdings ist der user in der lage eine neue shell zu öffnen, indem er bash startet. damit bin ich wieder am alten problem.

@markus
wenn ich das alles richtig deute bedeutet das, dass ich die bash selbst (oder sine andere shell) in sinem chroot ausführen müsste. geht das ?

gruss el

micha
10.10.01, 17:29
@elrond
jupp, aber nur, da die PATH-Variable den Pfad zur bash beinhaltet. Setzt Du Die PATH auf NULL, geht in der Beziehung nichts mehr.

Ändere mal in der /etc/passwd die Login-Shell des Benutzers wieder auf /bin/bash ab.
Wechsle in das Home-Verzeichnis des Users und editier die .profile (oder .bashrc) folgendermaßen:


export PATH=""
exec /bin/bash --restricted

Dann machste root zum Eigentümer der .profile und der .bashrc und entziehst dem User die Schreibrechte auf die zwei Dateien:



chown root.root .profile .bashrc
chmod 644 .profile .bashrc


Somit geht erst mal gar nix mehr. Falls der User allerdings irgendwas machen will (z.B. ls, mkdir, rm) würd ich ein extra Verzeichnis anlegen, in das Du dann alle Programme hineinkopierst, die nötig sind.
Nimm z.B. das Verzeichnis "/home/restricted/bin/" und das Programm "ls":


mkdir -p /home/restricted/bin
cp /bin/ls /home/restricted/bin/
--- die Path-Variable in der .profile erweitern ----

export PATH="/home/restricted/bin"
exec /bin/bash --restricted


Jetzt hat der User als einziges Programm "ls" zur Verfügung.


Gruß micha

elrond
11.10.01, 07:19
@micha

leuchtet mir ein, sieht klasse auss! danke

:D

elrond
11.10.01, 13:33
@micha

alerdings funktioniert so das scp nicht mehr aufgrund irgendeines problems mit stdout was ich leider nicht deuten kann...