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

Frage Linux Linux Tools

python in chroot - was kann noch fehlen?

Mitglied: dis4711

dis4711 (Level 1) - Jetzt verbinden

30.04.2009, aktualisiert 12:35 Uhr, 2929 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 von ZEICHEN bis ZEICHEN
gelöst Frage von schneerunzelPython2 Kommentare

Hallo, ich glaube ich habe eine ganz einfache Frage: Ich möchte aus eine Testdatei die So aufgebaut ist: ID;Vorname;Name;Jahrgang ...

Python
Python Entwicklungsumgebung für Scripten
Frage von istike2Python1 Kommentar

Hallo, kennt jemand ein effizientes Framework für Python-Entwicklung? Es müsste eher "lightweight" sein, da ich es vor Allem für ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 2 StundenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 9 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 14 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...