[résolu] Lancer Apache en tant qu'utilisateur (et pas root)

Lancer Apache en tant qu'utilisateur (et pas root) [résolu] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 23-02-2007 à 16:58:55    

Bonjour,
 
Je souhaite gérer une base de données sur mon PC (serveur local) en associant apache2, php5 et postgresql sur une Ubuntu Dapper.
J'ai installé les différents paquets.
J'arrive à lancer le serveur apache et à exécuter le fameux programme phpinfo (postgresql viendra après ...).
Le seul hic est que je suis obligé de lancer apache avec la commande sudo.
 
Y a-t-il un moyen de lancer apache en tant qu'utilisateur "classique" ?
 
Merci pour votre aide,
Bon week-end,
Ptit Bleu.


Message édité par ptit_bleu le 26-02-2007 à 11:24:19
Reply

Marsh Posté le 23-02-2007 à 16:58:55   

Reply

Marsh Posté le 23-02-2007 à 17:06:59    

normalement apache se lance avec l'user www-data sur debian


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 23-02-2007 à 17:13:44    

Je sens que je vais encore passer pour un nul ... je n'ai pas compris ta réponse  :(  
Quand j'arrive sur Ubuntu, admettons que j'ouvre une session en tant que ptit_bleu.
Ma question est : comment lancer apache directement en tant que ptit_bleu ?
 
Du coup, que vient faire www-data dans l'histoire ?
 
Merci pour votre patience et votre tolérance pour les nuls et les ptits bleus  :ange:  
Ptit Bleu.

Reply

Marsh Posté le 23-02-2007 à 17:19:59    

heuuuu ..... il se lance pas dans les services au lancement de la machine ton apache?

Reply

Marsh Posté le 23-02-2007 à 17:22:51    

heuuu ... je n'ai même pas vérifié.
Je sors ...
Et je reviens dès que j'ai vérifié (ce soir).
Juste pour être sûr, c'est la commande ps, c'est ça ?
 
Encore désolé pour les questions cons,
Ptit Bleu.

Reply

Marsh Posté le 23-02-2007 à 17:57:56    

rooo arrete de faire ton calimero :o
 
bon alors ptit bleu :D, apache est généralement lancé par un script d'init.
 
les scripts d'init sont des scripts en bash qui permettent de lancer des services, ou de les redémarrer, arreter, etc, en fonction d'un parametre (généralement start, stop, force-reload, restart)
 
ils se trouvent dans /etc/rcx.d/ avec x un runlevel (mais bon là on s'éloigne)
et /etc/init.d/
 
donc pour démmarer, arreter, recharger la configuration d'apache, tu as le script /etc/init.d/apache
 
pour savoir si apache est déja lancé, fais "ps ax | grep apache"
 
normalement apache est lancé par un utilisateur nommé www-data sur debian (conf d'apache, y a des services qui proposent de base de démarrer avec un user différent de root, pour la sécu)
 
voila ptit bleu, en espérant que j'aurai cette fois ci mieux répondu à ta requete :D  
 
un ptit bleu moins ptit bleu que ptit bleu :D


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 23-02-2007 à 18:00:51    

si tu veux lancer apache en tant qu'utilisateur non-root, n'oublie pas de changer le  port dans httpd.conf pour un port non priviliégié (> 1024), sinon ca ne marchera pas

Reply

Marsh Posté le 23-02-2007 à 18:11:14    

faux, c'est vrai que si il veux lancer apache dans un tyy de temps en temps, sinon il est possible de lancer apache sur port 80 avec un user sans droits superuser
 

Citation :


niagara:/tmp# ps --User www-data
  PID TTY          TIME CMD
20299 ?        00:03:07 apache2
14269 ?        00:06:01 apache2
14423 ?        00:00:06 apache2
14425 ?        00:00:09 apache2
18411 ?        00:00:04 apache2
18540 ?        00:00:03 apache2
19158 ?        00:00:00 apache2
19159 ?        00:00:00 apache2
14738 ?        00:00:00 apache2
14739 ?        00:00:00 apache2
niagara:/tmp#


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 23-02-2007 à 21:07:48    

C'est re-moi.
 
Merci zecrazytux pour ton explication détaillée.
Après vérification, et comme l'avait dit digital-shadow, apache se lance au démarrage avec www-data en user.
 
Comme je suis bien entourée  :love: , j'en profite pour poser deux questions subsidiaires :
- quel est l'effet de remplacer listen 80 par listen localhost:80 dans le fichier /etc/apache2/ports.conf (vu dans un tuto sur apache)
- quelle est la procédure ...
      - pour ne pas démarrer apache au démarrage (je n'en ai pas besoin à chaque session)
      - et pouvoir le lancer quand je veux sous ma session
 
Après avoir lu le message de ory, j'ai regardé le fichier httpd.conf. Il est vide. J'ai l'impression que tout est dans apache2.conf.  Normal ? (ce sera la troisième question subsidiaire)
 
Encore merci pour votre aide,
Bon week-end à tous  :hello: ,
Ptit Bleu.

Reply

Marsh Posté le 24-02-2007 à 01:12:14    

1)
 

Citation :


# Listen
Cette directive est (pour Apache2) indispensable.Elle spécifie les adresses IP des interfaces locales et les ports sur lesquels Apache doit être en écoute (par défaut les requêtes sont acceptées de toutes les interfaces IP, et donc en général seul(s) le(s) numéros de port(s) sont renseignés ).
Sur apache2, ces déclarations sont incluses dans apache2.conf par
 
Include /etc/apache2/ports.conf
# lequel peut contenir par exemple
# pour que le serveur accepte des connexions à la fois sur les ports 80 et 8080  
Listen 80
Listen 8080  


 
ça sert quand tu as plusieurs cartes reseaux, plusieurs ips mais que tu veux qu'on accede à tes ressources par un seul hostname/ip
 
 
2)  
 
à cette heure là je serai bien capacble de dire une grosse connerie, mais moi j'aurai tenté un :
 
mv /etc/init.d/apache2 /usr/sbin/myapache2
 
apres tu lance apache en root avec /usr/sbin/myapache2 start
 
et si tu veux le lancer à partir d'un simple user, tu utilise sudo avec un seul droit superuser sur cette commande :D
 
3) normal, il est plus ou moins resté pour compatibilité ou souvenir souvenir  car c'était le fichier de conf d'apache1. il est inclue en fin de apache2.conf donc tu peux y balancer ta sauce perso. ça permet de bien séparer les expérimentation du fichier de base préconfiguré :D
 
bon gare à toi, j'ai plsu le net pendant une semaine :D (grand parents inside :'()


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 24-02-2007 à 01:12:14   

Reply

Marsh Posté le 25-02-2007 à 13:52:21    

Merci zecrazytux pour les infos.
Tu as le droit de dormir un peu (tu dors quand ?) et de laisser souffler ton clavier pendant une semaine.
 
A plus,
Ptit Bleu.

Reply

Marsh Posté le 25-02-2007 à 14:45:48    

zecrazytux a écrit :

normalement apache se lance avec l'user www-data sur debian

 


apache est lancé sous l'user root et ensuite abandonne des droits pour tourner sous l'user www-data.


---------------
Intermittent du GNU
Reply

Marsh Posté le 25-02-2007 à 14:47:24    

zecrazytux a écrit :

faux, c'est vrai que si il veux lancer apache dans un tyy de temps en temps, sinon il est possible de lancer apache sur port 80 avec un user sans droits superuser

 



c'est toi qui t'inscrit en faux cf :

 

root     22819  0.0  0.9  24924  4692 pts/2    S    Feb24   0:01 /usr/sbin/apache
www-data 29455  0.4  2.6  33756 13016 pts/2    S    09:00   0:13  \_ /usr/sbin/apache
www-data 30483  0.3  2.3  32956 11780 pts/2    S    09:05   0:09  \_ /usr/sbin/apache
www-data 30839  0.4  2.1  30416 10812 pts/2    S    09:18   0:07  \_ /usr/sbin/apache
www-data 30908  0.5  2.6  33640 13104 pts/2    S    09:22   0:07  \_ /usr/sbin/apache
www-data 30946  0.5  2.7  34056 13584 pts/2    S    09:24   0:07  \_ /usr/sbin/apache
www-data 31098  0.6  2.0  29884 10332 pts/2    S    09:30   0:06  \_ /usr/sbin/apache
www-data 31105  0.4  2.1  31804 10532 pts/2    S    09:30   0:04  \_ /usr/sbin/apache
www-data 31222  0.2  2.1  31844 10656 pts/2    S    09:37   0:01  \_ /usr/sbin/apache
www-data 31231  0.5  2.1  29952 10852 pts/2    S    09:38   0:02  \_ /usr/sbin/apache
www-data 31260  0.2  2.0  29988 10340 pts/2    S    09:39   0:00  \_ /usr/sbin/apache
www-data 31360  0.3  2.0  29784 10080 pts/2    S    09:41   0:00  \_ /usr/sbin/apache
www-data 31392  0.2  1.6  28112  8232 pts/2    S    09:42   0:00  \_ /usr/sbin/apache
www-data 31419  0.2  1.6  28128  8264 pts/2    S    09:43   0:00  \_ /usr/sbin/apache
www-data 31684  0.0  1.2  26860  6412 pts/2    S    09:45   0:00  \_ /usr/sbin/apache

 
 



---------------
Intermittent du GNU
Reply

Marsh Posté le 26-02-2007 à 08:57:24    

Désolé mais je n'ai pas compris la réponse de mikala ...
 
En clair (avec des mots simples pour moi) :
- comment éviter le lancement d'apache au démarrage (ce n'est pas la peine de lancer des services pour rien à chaque session) et ensuite je le lancerai en tant que root quand je le souhaite (sachant que ça bascule ensuite sur l'user web-data - j'ai bon, là ???)
 
Et si vous avez une procédure à me donner, est-ce qu'elle sera aussi valable pour d'autres services ? En fait comme je l'ai écrit dans mon premier message, j'essaie d'installer une base de données en associant apache, php et postgresql.
Mais comme c'est pour utilisation perso et ponctuelle, je ne souhaite pas démarrer apache et postgresql à chaque session.
Suis-je clair (j'ai des doutes) ?
 
Merci par avance,  
Et bonne semaine,
Ptit Bleu.

Reply

Marsh Posté le 26-02-2007 à 10:59:22    

ptit_bleu a écrit :


- comment éviter le lancement d'apache au démarrage (ce n'est pas la peine de lancer des services pour rien à chaque session)


 
Si tu es sur Debian/Ubuntu tu peux installer rcconf et le lancer depuis un terminal. Il suffit de décocher apache(2).
 

ptit_bleu a écrit :


et ensuite je le lancerai en tant que root quand je le souhaite (sachant que ça bascule ensuite sur l'user web-data - j'ai bon, là ???


 
Oui
 

ptit_bleu a écrit :


Et si vous avez une procédure à me donner, est-ce qu'elle sera aussi valable pour d'autres services ? En fait comme je l'ai écrit dans mon premier message, j'essaie d'installer une base de données en associant apache, php et postgresql.
Mais comme c'est pour utilisation perso et ponctuelle, je ne souhaite pas démarrer apache et postgresql à chaque session.


 
Oui le système d'init est uniformisé, la solution est valable pour tous les services.

Reply

Marsh Posté le 26-02-2007 à 11:23:28    

Parfait. Merci pour ta réponse.
Si je trouve, je vais mettre un "résolu" sur ce post.
Bonne semaine à tous,
Ptit Bleu.

Reply

Sujets relatifs:

Leave a Replay

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