Droits user pour démarrage services

Le
Sil
Salut la liste,
J'ai un souci pour lancer un script sous Nagios (non non ça n'est pas HS,=

Nagios fonctionne bien).
Je m'explique : Je souhaite en cas de pépin sur un service, pouvoir le
redémarrer.
Je me doute qu'il faut les droits de root pour lancer une telle commande
(Ex: /etc/init.d/apache2 restart). J'ai donc modifié mes règles sudoers=
:

# Host alias specification
Host_Alias SERVEUR = localhost
# User alias specification
User_Alias NAGIOS = %nagios,moi_pour_faire_les_tests
# Cmnd alias specification
Cmnd_Alias SERVICES
= /usr/lib/nagios/plugins/eventhandlers/restart-apache,/etc/init.d/apache
# User privilege specification
root ALL=(ALL) ALL
NAGIOS SERVEUR = NOPASSWD: SERVICES

Quand je teste :
moi@serveur:~$ /etc/init.d/apache2 restart
Forcing reload of web server: Apache2grep: /etc/apache2/ssl/apache.pem:
Permission non accordée
grep: /etc/apache2/ssl/fa1f44e6.0: Permission non accordée
grep: /etc/apache2/ssl/115406b0.0: Permission non accordée
/etc/init.d/apache2: line 97: kill: (16929) - Opération non permise

moi@serveur:~$ sudo /etc/init.d/apache2 restart
Forcing reload of web server: Apache2.

moi@serveur:~$ /usr/lib/nagios/plugins/eventhandlers/restart-apache CRITICA=
L
SOFT 3
Redemarrage démon Apache (3ème état critique SOFT)Forcing reload o=
f web
server: Apache2grep: /etc/apache2/ssl/apache.pem: Permission non accordée
grep: /etc/apache2/ssl/fa1f44e6.0: Permission non accordée
grep: /etc/apache2/ssl/115406b0.0: Permission non accordée
/etc/init.d/apache2: line 97: kill: (341) - Opération non permise

moi@serveur:~$ sudo /usr/lib/nagios/plugins/eventhandlers/restart-apache
CRITICAL SOFT 3
Redemarrage démon Apache (3ème état critique SOFT)Forcing reload o=
f web
server: Apache2.

ça marche comme prévu, par contre si je teste sur Nagios rien ne marche.
La grosse différence entre nagios et moi c'est le Shell :
moi /bin/bash
nagios /bin/false
Ce paramètre de Shell m'empêche de me connecter pour tester les scripts.

Est-il possible de faire exécuter des scripts sudo à un user /bin/false=
?

Merci d'avance.
@+
Sil
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sil
Le #9524891
Bonjour,

Je n'ai pas eu de succès avec mon premier message.
Mais j'ai continué mes investigations. ;-)

Voici le résultat de deux commandes identiques lancées de deux manièr es différentes,
la première en ligne de commande, logué sous nagios et la deuxième la ncé par le script nagios.

(visudo autorise nagios pour /etc/init.d/mysql *
et mon script restart-mysql lance "/usr/bin/sudo /etc/init.d/mysql restart")
(pour une lecture plus facile, j'ai enlevé le retour à la ligne automat ique)

$ /usr/lib/nagios/plugins/eventhadlers/restart-mysql CRTICAL SOFT 3
Donne dans /var/log/auth.log
Mar 26 15:05:34 localhost sudo: nagios : TTY=pts/1 ; PWD=/var/log/nag ios ; USER=root ; COMMAND=/etc/init.d/mysql restart
MySQL redémarre

Par contre si je stoppe mysql et nagios se débrouille tout seul au troisi ème test la
commande suivante est lancée et loguée dans auth.log :
Mar 26 15:04:40 localhost sudo: nagios : TTY=unknown ; PWD=/ ; USER =root ; COMMAND=/etc/init.d/mysql restart
MySQL ne redemarre pas :-(

Les différences sont qu'il n'y a pas de tty affecté (normal je suppose, vu que c'est un démon)
mais pourquoi PWD est sur la racine ? Nagios n'y a aucuns droits.
Voyez vous quelque chose de bizarre ?

Merci d'avance,
@+
Sil
Sil
Le #9524481
Je revient à la charge,

Voici mes derniers tests :
- le problème ne vient pas du paramètre requiretty de sudo.
- Une tache cron de l'utilisateur nagios fonctionne parfaitement, mysql
redemarre.
- une tâche exécutée par le démon nagios sous l'utilisateur nagio s ne
fonctionne pas et ne génère aucune erreur.

Les logs pour cron :
Mar 27 19:23:01 localhost CRON[3769]: (pam_unix) session opened for user
nagios by (uid=0)
Mar 27 19:23:01 localhost sudo: nagios : TTY=unknown ; PWD=/var/log/n agios ;
USER=root ; COMMAND=/etc/init.d/mysql restart
Mar 27 19:23:08 localhost CRON[3769]: (pam_unix) session closed for user
nagios

Les logs pour le démon nagios :
Mar 27 19:34:20 localhost sudo: nagios : TTY=unknown ; PWD=/var/log/n agios ;
USER=root ; COMMAND=/etc/init.d/mysql restart

Le fait que cron ouvre une session doit changer quelque chose, non ?

Merci d'avance pour votre aide,
@+
Sil
Sil
Le #9524411
Le problème semble résolu,
Sur la liste nagios user, on m'a conseillé de loguer la sortie de ma
commande de redémarrage du service :
/usr/bin/sudo /etc/init.d/mysql restart > /tmp/debug.log 2>&1

J'ai fait un test et le service à redémarré !
Je ne m'y attendait pas du tout.

J'ai donc modifié la ligne pour ne pas écrire de fichier :
/usr/bin/sudo /etc/init.d/mysql restart > /dev/null 2>&1

Et depuis ça marche.
Si quelqu'un y comprend quelque chose...

@+
Sil


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme