|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() |
Bonjour,
Je souhaiterais pouvoir lancer un script bash depuis un site web PHP (utilisation de la Commande exec). Or j'aurais besoins de conseils sur les droits à donner à mon utilisateur apache pour qu'il puisse lancer un tel script => Je ne souhaite évidemment pas lancer Apache avec l'utilisateur root. Utilisateur Apache : webuser Script à exec : /usr/local/monScript Ce script fait appel à la commande screen pour lancer une appli qu'on appellera monAppli. Pour info le script en question est celui décrit dans le dernier post de ce thread : http://www.developpez.net/forums/sho...d.php?t=185518 Quelles seraient vos préconisations ? J'ai lu sur certains sites qu'une solution consiterais à éditer mon fichier /etc/sudoers afin de donner à mon user les droits sudo sur certaines commandes. Qu'en pensez-vous ? merci d'avance
__________________
@+ddams |
|
|
00
|
|
|
#2 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 774 ![]() |
ça parait bien... même si je préfères les cgi-bin "bien faits"
|
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() |
Merci pour ta réponse.
Petite question subsidiaire : J'ai ajouté mon user au fichier sudoers mais lorsque mon user lance une commande sudo, j'obtiens le message "Sorry, sudo must be setuid root." Ca dit quelquechose à quelqu'un ? Si ça peut aider : Code :
Je ne vois pas ce qui cloche...
__________________
@+ddams |
||
|
|
00
|
|
|
#4 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 774 ![]() |
l'utilisateur ayant droit de faire un sudo doit être dans wheel... si je me souviens bien
|
|
|
00
|
|
|
#5 | |
|
Membre habitué
![]() |
Citation:
merci
__________________
@+ddams |
|
|
|
00
|
|
|
#6 | |||||
|
Membre émérite
![]() Inscription : août 2003 Messages : 878 ![]() |
Citation:
L'intérêt de sudo serait plutôt limité si il fallait faire partie du groupe wheel pour s'en servir. Tant qu'à faire, tu aurais dû lui dire de faire tourner apache en tant qu'utilisateur root, cela aurait été plus simple. Les utilisateurs ayant le droit de faire un sudo sont ceux pour lesquels cela a été paramétré dans "/etc/sudoers" ("sudoers" voulant dire "ceux qui peuvent faire un sudo"...c'est quand même bien fait, non ?). Citation:
Citation:
Le message "Sorry, sudo must be setuid root." veut dire...ce qu'il dit : sudo est désolé mais pour fonctionner il doit être setuid root. Ton "/usr/bin/sudo" étant un lien vers "/usr.nfs/./bin/sudo", c'est un "ls -l /usr.nfs/./bin/sudo" que tu aurais dû faire. Si les permissions sur ce dernier ne sont pas "---s--x--x" et/ou si son propriétaire n'est pas root, tu comprendras qu'il y ait un message d'erreur. Là, deux options : - soit le nom du répertoire n'est pas trompeur et il s'agit d'un partage NFS ; - soit il est trompeur et c'est un répertoire local. Si il est local, vérifies qu'il s'agit bien de ton sudo et pas d'un sudo ajouté par un pirate puis fais un chown pour qu'il appartienne à root:root puis un chmod pour qu'il soit setuid (avec SEULEMENT des permissions en exécution, SURTOUT PAS en écriture). Si il est distant, tu peux essayer de faire de même mais vérifies aussi avec quelles options le partage est monté et notamment si il ne serait pas monté avec l'option "nosuid". Si c'est le cas, remonte-le sans cette option. Ok ?
__________________
Un problème bien exposé est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles. |
|||||
|
|
00
|
|
|
#7 | ||||||
|
Membre habitué
![]() |
Merci pour ta réponse.
Citation:
Citation:
Citation:
Citation:
Citation:
ls -l /usr.nfs/./bin/sudo ---s--x--x 1 root root 84920 jan 25 2003 /usr.nfs/./bin/sudo Citation:
Je tenterais un remontage demain. merci
__________________
@+ddams |
||||||
|
|
00
|
|
|
#8 | |
|
Membre émérite
![]() Inscription : août 2003 Messages : 878 ![]() |
Citation:
__________________
Un problème bien exposé est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles. |
|
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() |
Gorgonite m'avais proposé cette solution il y a quelques temps.
J'avais besoin de lancer un runscript a partri de php : Dans /etc/sudoers Code :
apache ALL=NOPASSWD:/etc/init.d/runscript start dans php : exec('sudo /etc/init.d/runscript start'); |
|
00
|
Copyright © 2000-2012 - www.developpez.com