[apache/php] installation chrooté

installation chrooté [apache/php] - Linux et OS Alternatifs

Marsh Posté le 28-02-2002 à 17:01:40    

hello,
 
je viens de ré-installer apache et php en chroot grâce à l'excellent tutorial : http://penguin.epfl.ch/chroot.html
 
* cela pose qq problèmes : entre autre plus moyen d'envoyer un mail par php puisque sendmail n'existe pas dans ma version chrootée...  :( Mais cela fonctionnne en utilisant phpmailer, ou la librairie php qui utilisent une connexion par socket à mon serveur de mail :)
Alors existe-t-il un programme qui "émulerait" sendmail ?
je veux dire un pgm perl, ou autre qui se connecterait par socket à mon serveur de mail et qui accepte les même option basiques que sendmail.  Dans ce cas je pourrais le mettre dans mon répertoire chrooté/bin avec comme nom "sendmail" de telle sorte que je puisse utiliser la fonction mail() de php.
 
*j'aimerais faire lancer apache en uchroot (lancé en chroot par un utilisateur différe de root)
ça fct en donnant les droits d'écriture sur le répertoire de log et de création du httpd.pid (comme mon serveur tourne sur un port>1024 ça ne pose pas de problème)
En lancement chrootée ou standard, l'utilisateur root crée des processus fils qui tournent sous l'utilisateur et le groupe mentionnés dans httpd.conf.
Qd je lance apache en uchroot tout ces processus fils sont lancés sous le même user que celui qui fait tourner le processus père.
- comment faire pour que les processus fils tournent bien sous l'utilsateur mentionné dans httpd.conf et pas celui du processus père ??
- s'il n'y a pas moyen de le faire, est-ce grave ?
(chaque utilisateur de processus fils a les droits en écritures sur les logs...)
 
ex:
- chroot
#un ps aux donne en gros
/apache/bin/httpd user:root # processus père  
/apache/bin/httpd user:www  # processus fils
/apache/bin/httpd user:www
/apache/bin/httpd user:www
-uchroot -u apache
#un ps aux donne en gros
/apache/bin/httpd user:apache # processus père  
/apache/bin/httpd user:apache  # processus fils
/apache/bin/httpd user:apache
/apache/bin/httpd user:apache

 

[jfdsdjhfuetppo]--Message édité par ethernal--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 28-02-2002 à 17:01:40   

Reply

Marsh Posté le 28-02-2002 à 17:04:20    

ben de toute facon t'es obligé de recopier tout ce dont à besoin ton appli pour fonctionner .
 
fait un ldd sendmail pour voir avec quoi il est lié deja , puis copier eventuellement ses fichiers de config .
 
ma derniere experience de chroot me dit que c'est chiant ;)


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:05:31    

pour httpd ,  meme si tu l'as configuré pour tourner en tant que user , le processus pere est tjs en root .  
 
j'ai pas verifié dans le cas d'un apache sur un port > 1024 .


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:07:36    

et sendmail c'est un cauchemar :(


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:12:44    

vi je sais c chiant ...;)
 
mais bon qu'est ce qui est utile à sendmail ?
il me semble que la queue /var/spool/mail/MonUser est aussi nécessaire, et à la limite postfix aussi non ?
Donc, j'arriverais au final à avoir mis mon serveur de mail dans le même chroot que apache.
je veux po :D :(
 
 
Enfin, je pense que la première question à poser est comment fonctionne sendmail ? Et qu'est-ce que c'est en réalité ?
- C'est un serveur de mail monstrueux
- Mais c'est aussi un "bête" pgm qui passe un fichier à une file de mail locale non ?  Moi j'ai Postfix qui est mon serveur de mail, mais le fichier exécutable "sendmail" exist et est utilisé par php entre autre pour fournir de smails à Postfix... Et si le mail n'a pas pour destination le réseau local, comment fait-il ?
Est-ce que la fonction mail() de php fonctionnne sur une machine qui n'a pas de serveur de mail ?

 

[jfdsdjhfuetppo]--Message édité par ethernal--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 28-02-2002 à 17:14:02    

saudium a écrit a écrit :

pour httpd ,  meme si tu l'as configuré pour tourner en tant que user , le processus pere est tjs en root .  
 
j'ai pas verifié dans le cas d'un apache sur un port > 1024 .  




 
j'ai testé, le processu père est bien mon user sans droit que j'ai décidé :)

Reply

Marsh Posté le 28-02-2002 à 17:15:13    

je ne peux que repondre à ta derniere question :non .
 
ou alors tu jouers avec une socket et le protocole smtp


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:18:19    

merci de ta réponse :)
 
pour l'instant, jouer avec les sokets et smtpd est ce que je fais et c'est la seule soluce que j'ai trouvé...
 
mais il existe peut-être qqch d'autre ?  je suis ouvert à toute proposition :)

Reply

Marsh Posté le 28-02-2002 à 17:21:20    

pardoooooooon : ya une option smtp dans le php.ini !!!


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:22:25    

mèèèèèèè
 
[mail function]
SMTP            =   localhost           ;for win32 only
sendmail_from   =   me@localhost.com    ;for win32 only
;sendmail_path  =                       ;for unix only, may supply arguments as well


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 17:22:25   

Reply

Marsh Posté le 28-02-2002 à 17:23:04    

bref , c'est con pour les unixiens


---------------
root 66
Reply

Marsh Posté le 28-02-2002 à 20:24:28    

:lol: tu l'as dit ;)
 
sinon qq sait me dire commet un utilisateur normal pourrait démarer des processus fils sous un autre user ?

Reply

Marsh Posté le 01-03-2002 à 12:14:42    

:bounce:  
tournée autrement ça donne :
Comment faire pour qu'un utlisateur normal puisse faire un  
"su AutreUser" ? (à mon avis ça devrait m'arranger)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed