Kein chroot möglich

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
chaosIngo
Beiträge: 2
Registriert: 30.01.2009 16:52:22

Kein chroot möglich

Beitrag von chaosIngo » 30.01.2009 17:29:47

Hallo,
ich habe einen Webserver übernommen auf dem in C++ geschriebene CGI Programme installiert sind. Diese Programme benötigten spezielle Biblioteken, so das der vorherige Admin diese zum Teil selbst in ein Debian einkompiliert hat. Dabei wurden jedoch einige systemeigene Bibliotheken zerstört, so dass sich zum Beispiel apt-get nicht mehr aufrufen lässt.

Mein Problem dabei liegt darin das der Webserver beim Provider abgeschaltet und in ein internes Firmennetz umziehen soll. Im internen Netz soll die Webadministrationsumgebung weiterhin funktionieren um Daten vom Server zu nutzen.

Da ich nach den ersten Versuchen erkannt habe, dass es (fast) unmöglich ist die CGI Programme neu kompilieren, habe ich beschlossen das es vermutlich am einfachsten ist das Root Verzeichnis zu kopieren und mittels chroot den Apache in diesem Verzeichnis zu starten.

Daher habe ich mit dd ein Festplattenimage gezogen, welches sich auch per mount -o loop einbinden läst. fsck sagt das keine Fehler auf der Partition zu finden sind. Bei dem Versuch zu chrooten erhalte jedoch die Meldung:
chroot: cannot run command `/bin/bash': No such file or directory

Laut ldd bash sind alle gelinken Bibliotheken sind da, wo sie erwartet werden, und auf dem orginal System werden diese auch gefunden. Die Verzeichnisse /proc und /dev wurden angelegt. /proc wurde mit 'mount -t proc proc /image/proc eingehängt. In dev wurden mit mknod alle relevanten Devises erstellt.

Hat jemand eine Idee an welcher Stelle man noch suchen könnte um einen chroot durchzuführen?

Oder, hat jemand eine Idee wie man einen Server möglichst schön in eine Virtuelle Maschine übernehmen kann?

Danke für die Antworten, Ingo

Benutzeravatar
detix
Beiträge: 1743
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: Kein chroot möglich

Beitrag von detix » 30.01.2009 18:10:47

Ohne Parameter sucht chroot standardmäßig nach bin/bash,
schau mal ins bin Verzeichnis was an shells geboten wird.
Vielleicht 'ash', oder nur 'sh' oder ganz was anderes.
Wenn du fündig wirst, starte chroot entsprechend, Beispiel ash:

Code: Alles auswählen

chroot bin/ash
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

chaosIngo
Beiträge: 2
Registriert: 30.01.2009 16:52:22

Re: Kein chroot möglich

Beitrag von chaosIngo » 02.02.2009 09:22:37

Hallo, die bash ist da.
Und es ist auch egal welches Programm ich starte. Die Fehlermeldungen sind immer die gleichen.

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Kein chroot möglich

Beitrag von Simmel » 02.02.2009 10:05:58

chaosIngo hat geschrieben:Hallo, die bash ist da.
Und es ist auch egal welches Programm ich starte. Die Fehlermeldungen sind immer die gleichen.

Was genau gibst du denn an beim chrooten?

Sprich in welches Verzeichnis hast du die Platte eingebunden und wie rufst du es auf.


Übrigens eine andere Alternative, wäre ein VMWare oder Virtualbox. Einfach ne Standard-Installation machen und dann mit z.B. rsync die Inhalte des Servers dort reinkopieren. Das sollte eigentlich auch funktionieren und ist vll. sogar die elegantere Lösung als ein chroot.

Greetz,
Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Antworten