Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

python in chroot - was kann noch fehlen?

Mitglied: dis4711

dis4711 (Level 1) - Jetzt verbinden

30.04.2009, aktualisiert 12:35 Uhr, 2941 Aufrufe, 5 Kommentare

Ich bin gerade dabei auf einem Apache/1.3.29 python in einer chroot zu installieren. Da ich dabei anscheinend immer noch das Problem habe, dass Python eine seiner Libraries nicht findet wollte ich testen ob ich Python "einfach manuell" in einer chroot aufrufen kann - dazu habe ich mir folgende "Testschritte" überlegt:

(0) Vorarbeit: python in der chroot installieren

(1) chroot-starten (idealerweise auch gleich als der zukünftige httpd-user)

(2) python aufrufen (und glücklich sein - ab hier würde ich zumindest mal wissen, dass mein problem (vermutlich) httpd.conf bedingt ist - und nicht chroot-bedingt)

(ad 0) Zur Vorarbeit habe ich alle libraries zu python (siehe 'ldd /usr/local/bin/python') in meine chroot-umgebung ('/var/www') kopiert.

01.
$ldd /usr/local/bin/python
lieferte folgende abhängigkeiten:

/usr/local/bin/python
/usr/local/lib/libpython2.5.so.1.0
/usr/lib/libutil.so.11.0
/usr/lib/libstdc++.so.45.0
/usr/lib/libm.so.3.0
/usr/lib/libpthread.so.11.0
/usr/lib/libc.so.48.0
/usr/libexec/ld.so

diese habe ich nach /var/www kopiert. Anschliessend habe ich (sicherheitshalber) alle zugehörigen Libraries mit chown root:www und chmod 775 versehen (mein httpd-user war 'www').

(ad 1 und 2) Den Aufruf hatte ich wie folgt vor...

01.
$ chroot -g www -u www /var/www/ /usr/local/bin/python         
02.
/usr/local/bin/python: can't load library 'libpython2.5.so.1.0'
...dummerweise quittierte der chroot-Aufruf meinen Versuch mit obiger Fehlermeldung. Dh, anscheinend hat ld.so gleich die erste Library nicht gefunden.

Habe ich hier noch etwas übersehen? Ich dachte, dass das Übernehmen der Libraries in mein "zukünftiges root-verzeichnis" und Setzen der Berechtigungen ausreichen sollte?

Die Maschine auf der ich das gerade teste läuft auf OpenBSD 4.4 (stable i386).
Die wenn (sozusagen als "Positiv-Testfall" zu python) "als normaler Benutzer" und ohne chroot python aufrufe, dann habe ich keinerlei LD_Environmentvariablen (oder sonstige Pfade zu den Libraries) die sich auf ld.so auswirken könnten gesetzt.

...ich denke ich übersehe hier etwas ganz Grundlegendes und würde mich über einen Hinweis von Euch freuen - Danke!
Mitglied: 68702
30.04.2009 um 12:46 Uhr
So weit ich weiss, sollte die libpython2.5.so.1.0 in /usr/local/lib/python liegen und nicht in /usr/local/bin/python oder in /var/www/ .
Bitte warten ..
Mitglied: 75823
30.04.2009 um 14:41 Uhr
IMHO, du musst in deinem chroot Umgebung auch die Pfade behalten:

/var/www/usr/local/bin/python
/var/www/usr/local/lib/libpython2.5.so.1.0
.... usw.

Den Befehl bleibt wie vorher:
chroot -g www -u www /var/www/ /usr/local/bin/python
Bitte warten ..
Mitglied: dis4711
30.04.2009 um 15:41 Uhr
@fred - ich bin mir jetzt nicht ganz sicher - aber ich denke, dass Du hier die Fehlermeldung meines 'chroot-versuchs' missverstanden hast, denn libpython2.5.so.1.0 liegt bei mir weder im verzeichnis...

/usr/local/lib/python/ noch im verzeichnis...
/usr/local/bin/python/ sondern in...

/var/www/usr/local/lib/

siehe die folgenden beiden Kommandos:

$pwd
/var/www

$ for I in `ldd /var/www/usr/local/bin/python | grep "lib" | awk '{print $7;}'| cut -b2-100`; do ls -l $I; done
-rwxrwxr-x 1 root www 1261187 Apr 19 22:21 usr/local/lib/libpython2.5.so.1.0*
-rwxrwxr-x 1 root www 181301 Apr 19 22:21 usr/lib/libutil.so.11.0*
-rwxrwxr-x 1 root www 957255 Apr 19 22:22 usr/lib/libstdc++.so.45.0*
-rwxrwxr-x 1 root www 611137 Mar 29 09:12 usr/lib/libm.so.3.0*
-rwxrwxr-x 1 root www 1574948 Apr 19 22:22 usr/lib/libpthread.so.11.0*
-rwxrwxr-x 1 root www 4062336 Mar 29 09:12 usr/lib/libc.so.48.0*
-rwxrwxr-x 1 root www 42813 Mar 29 09:12 usr/libexec/ld.so*

das müsste aber - denke ich - passen, denn auch in (dem chroot zu grunde liegenden Basissystem) liegt die library in
/usr/local/lib/libpython2.5.so.1.0 (genaugenommen liegt dort ein symbolische Link).
Bitte warten ..
Mitglied: dis4711
30.04.2009 um 15:48 Uhr
@75823 - was genau meinst du mit "auch die Pfade behalten"? Wenn du damit meinst, dass ich die entsprechenden Libraries relativ zum "neuen root-Verzeichnis" auch anlegen muss, dann JA - das habe ich getan (siehe mein Posting ganz zu Beginn).

Ich vermute mal, dass ich das oben etwas unklar/ungeshickt formuliert habe. Vielleicht ist es mit einem Beispiel verständlicher... das File

$ pwd
/var/www/

$ find . -name "libpython*so*" 2>/dev/null
./usr/local/lib/libpython2.5.so.1.0

...man beachte den führenden '.' beim gefundenen Dateinamen.
Bitte warten ..
Mitglied: 75823
30.04.2009 um 16:26 Uhr
ich habe das gleiche gemacht was du machen wolltest. Bei mir funktioniert. Hasst du eigentlich /usr/local/bin/python2.5 kopiert oder /usr/local/bin/python ? Das zweite ist nämlich ein Link.
Bitte warten ..
Ähnliche Inhalte
Python
Python sshpass
gelöst Frage von tommaxPython2 Kommentare

Hallo zusammen, ich habe ein Problem, was mich langsam zum Verzweifeln treibt Ich habe 2 Raspberrys, die ich einfach ...

Python
Python IMAP Idle Problem
Frage von tingelPython

Hallo zusammen, ich habe in Python ein kleines Scirpt, welches Mail abruft und diese auswertet. Das läuft und läuft. ...

Python
Python Audio-Aufnahme
Frage von tommaxPython

Hallo liebe Kollegen! Ich habe leider ein Problem mit dem folgenden Python-Script, das zur Aufzeichnung von Tondateien beim Erreichen ...

Python
Python Scripts ausführbar machen
gelöst Frage von istike2Python2 Kommentare

Hallo, ich müsste mich in den nächsten Wochen mit Python Scripts herumschlagen. Mein erstes "Hello, World" ist erfolgreich durchgelaufen. ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 4 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 13 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...