Je me fait un petit script php pour modifier le fichier 'mailertable' de
sendmail.
(Un fichier dans /etc/mail appartenant à root, en lecture pour les autres)
J'arrive bien à le lire (normal) mais pas à le modifier.
J'ai regardé du coté de sudo.
J'arrive bien à relancer un 'make' en tant que root après les modifs que
j'aurait fait dans ce fichier.
Mais je vois pas trop comment configurer sudoers pour autoriser l'écriture
d'un fichier.
Quelqu'un a t'il des idées sur comment écrire depuis php (user: www) un
fichier appartenant à root.
ou, plutot, comment configurer son nix/apache/pho pour autoriser un (et un
seul) script php à modifier
un (et un seul) fichier ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thibaut Allender
J'arrive bien à relancer un 'make' en tant que root après les modifs que j'aurait fait dans ce fichier. Mais je vois pas trop comment configurer sudoers pour autoriser l'écriture d'un fichier.
Si make(map?) est lancé par root, c'est root qui va écrire le fichier, donc ça doit déjà fonctionner
J'arrive bien à relancer un 'make' en tant que root après les modifs que
j'aurait fait dans ce fichier.
Mais je vois pas trop comment configurer sudoers pour autoriser l'écriture
d'un fichier.
Si make(map?) est lancé par root, c'est root qui va écrire le fichier,
donc ça doit déjà fonctionner
J'arrive bien à relancer un 'make' en tant que root après les modifs que j'aurait fait dans ce fichier. Mais je vois pas trop comment configurer sudoers pour autoriser l'écriture d'un fichier.
Si make(map?) est lancé par root, c'est root qui va écrire le fichier, donc ça doit déjà fonctionner
"Thibaut Allender" a écrit dans le message de news:
Si make(map?) est lancé par root, c'est root qui va écrire le fichier, donc ça doit déjà fonctionner
le fichier appartient à root, et l'utilisateur du script 'www' ne peut donc pas le modifier, et c'est la ce que je voudrais faire
Thibaut Allender
le fichier appartient à root, et l'utilisateur du script 'www' ne peut donc pas le modifier, et c'est la ce que je voudrais faire
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
le fichier appartient à root, et l'utilisateur du script 'www' ne peut donc
pas le modifier, et c'est la ce que je voudrais faire
j'ai bien compris, mais si un sudo est réalisé lors du lancement de
makemap, c'est bien root qui va lire le fichier en entrer, generer le
hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
le fichier appartient à root, et l'utilisateur du script 'www' ne peut donc pas le modifier, et c'est la ce que je voudrais faire
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
"Thibaut Allender" a écrit dans le message de news:
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root : cd /etc/mail vi mailertable ... modif make make restart
ce que je voudrais faire en php formulaire de modification du mailertable en php puis appel du make : Lecture du mailertable (OK) Saisie des modifs (OK) Ecriture des modifs (Non, j'y arrive, www n'a pas les droits) exécution du make et make restart (OK, avec sudo)
"Thibaut Allender"
<use_contact_form_on_website@n.o.s.p.a.m.capsule.org.invalid> a écrit dans
le message de news:m8vg63-2a1.ln1@Pilaf.capsule.corp...
j'ai bien compris, mais si un sudo est réalisé lors du lancement de
makemap, c'est bien root qui va lire le fichier en entrer, generer le
hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root :
cd /etc/mail
vi mailertable
... modif
make
make restart
ce que je voudrais faire en php
formulaire de modification du mailertable en php puis appel du make :
Lecture du mailertable (OK)
Saisie des modifs (OK)
Ecriture des modifs (Non, j'y arrive, www n'a pas les droits)
exécution du make et make restart (OK, avec sudo)
"Thibaut Allender" a écrit dans le message de news:
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root : cd /etc/mail vi mailertable ... modif make make restart
ce que je voudrais faire en php formulaire de modification du mailertable en php puis appel du make : Lecture du mailertable (OK) Saisie des modifs (OK) Ecriture des modifs (Non, j'y arrive, www n'a pas les droits) exécution du make et make restart (OK, avec sudo)
nospam
patrice wrote:
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root : cd /etc/mail vi mailertable ... modif make make restart
ce que je voudrais faire en php formulaire de modification du mailertable en php puis appel du make : Lecture du mailertable (OK) Saisie des modifs (OK) Ecriture des modifs (Non, j'y arrive, www n'a pas les droits) exécution du make et make restart (OK, avec sudo)
Ce que tu peux faire à la rigueur c'est un script shell (php ou autre) via proc_open() que tu vas appeller via sudo, en lui balancant en entrée ce que tu veux écrire et qui va lui se charger d'écrire dans le fichier que tu veux modifier.
Ou peut être plus simple, écrire tes modifs dans un fichier temporaire spécifique, et ensuite lancer un sudo cp /tmp/mailertable /etc/mail/mailertable via system()
Attention aux executions simultanées du code dans les deux cas ;)
-- Romuald Brunet, ICQ 33033393
Remplacez nospam par mon prénom pour me contacter par email
patrice <p.labracherie@free.fr> wrote:
j'ai bien compris, mais si un sudo est réalisé lors du lancement de
makemap, c'est bien root qui va lire le fichier en entrer, generer le
hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root :
cd /etc/mail
vi mailertable
... modif
make
make restart
ce que je voudrais faire en php
formulaire de modification du mailertable en php puis appel du make :
Lecture du mailertable (OK)
Saisie des modifs (OK)
Ecriture des modifs (Non, j'y arrive, www n'a pas les droits)
exécution du make et make restart (OK, avec sudo)
Ce que tu peux faire à la rigueur c'est un script shell (php ou autre)
via proc_open() que tu vas appeller via sudo, en lui balancant en entrée
ce que tu veux écrire et qui va lui se charger d'écrire dans le fichier
que tu veux modifier.
Ou peut être plus simple, écrire tes modifs dans un fichier temporaire
spécifique, et ensuite lancer un sudo cp /tmp/mailertable
/etc/mail/mailertable via system()
Attention aux executions simultanées du code dans les deux cas ;)
--
Romuald Brunet, ICQ 33033393
Remplacez nospam par mon prénom pour me contacter par email
j'ai bien compris, mais si un sudo est réalisé lors du lancement de makemap, c'est bien root qui va lire le fichier en entrer, generer le hash et donc pouvoir ecraser l'existante, puisqu'il en est le propriétaire
attend j'essaie de résumer :
ce que je fait à la main, en temps que root : cd /etc/mail vi mailertable ... modif make make restart
ce que je voudrais faire en php formulaire de modification du mailertable en php puis appel du make : Lecture du mailertable (OK) Saisie des modifs (OK) Ecriture des modifs (Non, j'y arrive, www n'a pas les droits) exécution du make et make restart (OK, avec sudo)
Ce que tu peux faire à la rigueur c'est un script shell (php ou autre) via proc_open() que tu vas appeller via sudo, en lui balancant en entrée ce que tu veux écrire et qui va lui se charger d'écrire dans le fichier que tu veux modifier.
Ou peut être plus simple, écrire tes modifs dans un fichier temporaire spécifique, et ensuite lancer un sudo cp /tmp/mailertable /etc/mail/mailertable via system()
Attention aux executions simultanées du code dans les deux cas ;)
-- Romuald Brunet, ICQ 33033393
Remplacez nospam par mon prénom pour me contacter par email