PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : chroot einzelner programme?



muell200
27.01.05, 13:01
hallo

wie kann ich einzelne programme "chroot" laufen.
also das ein programm nicht auf /tmp ,..... zugreifgen kann, sondern nur in das verzeichniss, wo es gestartet worden ist.

im spezillen fall geht es im limewire ( p2p )

oder wie kann ich verhindern, dass das programm durch sicherheitslücken bzw. falsche bedinung :) auf andere dateien zugreift,.... bzw. zum download anbietet..

ist das überhaupt möglich?

Danke

Tomek
27.01.05, 13:56
Sicher ist das möglich. Du kannst mit chroot das Wurzelverzeichnis vor dem Programmstart ändern. Allerdings ist der Aufwand dabei etwas hoch, da du sämtliche vom Programm benötigte Libaries und andere Dateien in diese Chroot-Umgebung kopieren musst. Du kannst aber z.B. mit dem Tool ldd die Abhängigkeiten nachschauen. Beispiel mit wget:

$ ldd /usr/bin/wget
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0xb7fae000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0xb7eae000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7eab000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d77000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)

muell200
27.01.05, 14:08
Sicher ist das möglich. Du kannst mit chroot das Wurzelverzeichnis vor dem Programmstart ändern.
...
Du kannst aber z.B. mit dem Tool ldd die Abhängigkeiten nachschauen.


ldd: das ist ein java programm. ldd ergibt:



ldd LimeWire.jar not a dynamic executable


wenn ich aber das programm mit chroot starten kommt folgende meldung.

chroot /tmp /home/ew/LimeWire/runLime.sh


chroot: Es ist nicht möglich, das Wurzelverzeichnis in /tmp zu ändern: Die Operation ist nicht erlaubt


ich habe schon unterschiedliche verzeichnisse versucht.

in der man page steht:

chroot NEWROOT [COMMAND...]

hat noch jemand einen tip?

Tomek
27.01.05, 14:19
Du musst erstmal eine Chroot-Umgebung bauen, damit sie auch funktionieren kann. Der Anfang könnte dann sein:

chroot /neue-umgebung /bin/bash
Noch besser wäre es, wenn du erstmal etwas darüber lesen würdest. Du findest mit Hilfe der Suchfunktion und Google einige Dokumentationen dazu.

piefke1984
29.01.05, 15:30
hey,

chroot darf zumeist nur root erfolgreich ausfuehren. der chroot-syscall wird im normalfall vom kernel abgewiesen. ;) ->sudo

michael