Bonjour,

Je viens vous soumettre un fonctionnement fort étrange de la commande sudo.

J'ai installé un serveur git sur une machine Centos 6.4 en utilisant le package git dispo.
J'ai écrit un script suivant (extrait) pour exécuter la commande git sur le bon compte utilisateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo -u UtilisateurDeService git init --bare $NewRepo
J'ai ajouté la ligne suivante dans le /etc/sudoers

Code : Sélectionner tout - Visualiser dans une fenêtre à part
UtilisateurLambda ALL=(UtilisateurDeService) NOPASSWD: /usr/bin/git
L'ensemble fonctionne parfaitement.

Puis j'ai voulu disposer de la dernière version de git. Je charge les sources, les compile et les installe.
Désormais, git est sous /usr/local/bin et non plus /usr/bin
Ce chemin est inscrit dans le $pach pour les utilisateurs.

Je rectifie le fichier sudo comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UtilisateurLambda ALL=(UtilisateurDeService) NOPASSWD: /usr/local/bin/git
mais la grosse surprise le script ne fonctionne plus j'ai le message d'erreur suivant:
sudo: git: comand not found.

sudo continu de chercher git dans /usr/bin ???

Pour confirmer, j'ai mis un lien symbolique /usr/bin/git/usr/local/bin/bin et là, tout fonctionne !

sudo aurait-il une mémoire ?

J'ai tout revérifié plusieurs fois, je ne trouve pas d'erreur. Un autre œil est donc le bienvenu.

Merci d'avance de votre aide.