[linux] chrooted omgeving, sendmail werkt niet

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
Ik draai apache in chroot (/chroot/www/). ik heb een klein perl scrippie waarmee ik ff een e-mail kan versturen. Als ik 'm gewoon draai als /chroot/www/home/cgi-bin/email.pl dan komt m'n email keurig aan.

Maar wanneer ik e-mail.pl nu vanaf m'n browser aanroep (dan is de chroot dus actief) dan krijg ik de melding dat libmysqlclient.so.10 niet gevonden kan worden.

nu deed ik een "ldd /usr/sbin/sendmail" waarmee ik dan de libraries zie die gebruikt worden door sendmail. De libmysqlclient.so.10 bestaat gewoon op de goede plek in de chroot-omgeving (/chroot/www/usr/lib/mysql/libmysqlclient.so.10). Ik geloof dat PHP dit bestand ook nodig heeft en die kan 'm wel vinden binnen die chroot-omgeving.

probleem is dus kort samengevat dat sendmail de libmysqlclient.so.10 niet binnen de chroot-omgeving kan vinden terwijl die library wel op de goede plek staat :?

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

Misschien kijkt sendmail niet in /chroot/www/usr/lib/mysql/ voor de libs.. heb je ook een ld.so.conf in de chroot?

  • blender
  • Registratie: Juni 2001
  • Niet online
draai je hem als /chroot/www/home/cgi-bin/email.pl of draai je hem IN de gechrootte omgeving dus: /home/cgi-bin/email.pl

No offence maar ik heb een klein beetje de indruk dat chroot alleen met directories te maken heeft, binnen je gechrootte omgeving moet je alle apps neerzetten die je er in wilt gebruiken... dus ook libraries e.d.

  • igmar
  • Registratie: April 2000
  • Laatst online: 20-04 22:06

igmar

ISO20022

muis schreef op 06 August 2003 @ 03:51:
Maar wanneer ik e-mail.pl nu vanaf m'n browser aanroep (dan is de chroot dus actief) dan krijg ik de melding dat libmysqlclient.so.10 niet gevonden kan worden.

probleem is dus kort samengevat dat sendmail de libmysqlclient.so.10 niet binnen de chroot-omgeving kan vinden terwijl die library wel op de goede plek staat :?
sendmail zoekt geen binaries, je runtime linker doet dit.

code:
1
2
3
doos# chroot /var/www
doos# cd /
doos# /usr/sbin/sendmail


Indien dat errors geeft : Fix je chroot.

[ Voor 2% gewijzigd door igmar op 06-08-2003 11:00 . Reden: Wederom tags fixenh ]


  • Wilke
  • Registratie: December 2000
  • Laatst online: 22:13
blender schreef op 06 August 2003 @ 09:59:
No offence maar ik heb een klein beetje de indruk dat chroot alleen met directories te maken heeft,
No offense, maar volgens mij lees ik in zijn post toch vrij duidelijk dat 'ie dat wel weet en ook al heeft gedaan, of ik moet het helemaal verkeerd lezen 8)7

Wat igmar voorstelt is een goed idee, dan zie je misschien beter waar het fout gaat. Je kunt ook in de chroot gaan staan en dan ldd /usr/bin/sendmail proberen, kijken of 'ie iets mist (zal dus wel :) )

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
m'n chroot omgeving ziet er dus zoiets als dit uit:
/chroot/www
/chroot/www/apache
/chroot/www/home
/chroot/www/usr/sbin
/chroot/www/etc
enzovoorts

als ik nu dit doe:
/usr/bin/perl /chroot/www/home/cgi-bin/email.pl dan krijg ik m'n email keurig binnen

maar doe ik:
/usr/sbin/chroot /chroot/www /usr/bin/perl /home/cgi-bin/email.pl
dan krijg ik dus die foutmelding

heb net ook ff getest met het aanroepen van /chroot/www/usr/sbin/sendmail maar dit wertkt ook zonder problemen (buiten chroot om dus)
Apache, PHP en perl werken gewoon perfect binnen die chroot-omgeving dus daar kan nie aan liggen lijkt me

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
strlen schreef op 06 August 2003 @ 09:54:
Misschien kijkt sendmail niet in /chroot/www/usr/lib/mysql/ voor de libs.. heb je ook een ld.so.conf in de chroot?
dit is de inhoud van m'n /etc/ld.so.conf

/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/mysql

die heb ik ook al in /chroow/www/etc/ neergezet,
maar nog steeds wil het niet

[ Voor 27% gewijzigd door muis op 06-08-2003 11:11 . Reden: ik had ff wat onzin uitgekraamd ]

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • igmar
  • Registratie: April 2000
  • Laatst online: 20-04 22:06

igmar

ISO20022

muis schreef op 06 August 2003 @ 11:03:
m'n chroot omgeving ziet er dus zoiets als dit uit:

als ik nu dit doe:
/usr/bin/perl /chroot/www/home/cgi-bin/email.pl dan krijg ik m'n email keurig binnen

maar doe ik:
/usr/sbin/chroot /chroot/www /usr/bin/perl /home/cgi-bin/email.pl
dan krijg ik dus die foutmelding

heb net ook ff getest met het aanroepen van /chroot/www/usr/sbin/sendmail maar dit wertkt ook zonder problemen (buiten chroot om dus)
Da's niet interessant, wat interessant is is wat ie in de chroot doet, en da's wel effe waard om te proberen. Heb je wel een /etc/ld.so.cache ? ld.so heeft dat ding in principe namelijk nodig. De ld.so.conf kun je weglaten indien je libs in /lib of /usr/lib staan.

Merk op dat PHP standaard de ingebouwd MySQL support gebruikt, en dus niet de MySQL inplementatie (en dus libraries).

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
igmar schreef op 06 August 2003 @ 10:23:
[...]


sendmail zoekt geen binaries, je runtime linker doet dit.

code:
1
2
3
doos# chroot /var/www
doos# cd /
doos# /usr/sbin/sendmail


Indien dat errors geeft : Fix je chroot.
Dit was idd een goeie (dat ik er zelf nog niet aan had ged8 :?) maar hier geeft ie idd wat fouten aan dat ie de rest van postfix niet kan vinden,
ik moet nu ffies weg maar vanmiddag klooi ik er ff verder mee

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • Wilke
  • Registratie: December 2000
  • Laatst online: 22:13
Doe anders even wat ik in m'n vorige post zei (chrooten, dan ldd), dan zie je meteen welke libs 'ie niet kan vinden.

Testen buiten de chroot is totaal oninteressant, want het is wel duidelik dat het probleem veroorzaakt wordt door de chroot omgeving, alleen nog niet precies hoe...

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
tis opgelost inmiddels,
voor geval dat iemand ooit nog zelfde probleem post ik wel ffies m'n oplossing.

ik moest m'n /etc/postfix/main.cf nog in de chroot-omgeving kopieren. Vervolgens m'n queue directory in de /etc/postfix/main.cf veranderd van /var/spool/postfix/ naar /chroot/www/var/spool/postfix

nu kan sendmail wel alle benodigde bestanden/libraries vinden en schieten m'n mailtjes de deur uit zoals het hoor :)

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)

Pagina: 1