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 :
J'ai ajouté la ligne suivante dans le /etc/sudoers
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo -u UtilisateurDeService git init --bare $NewRepo
L'ensemble fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UtilisateurLambda ALL=(UtilisateurDeService) NOPASSWD: /usr/bin/git
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:
mais la grosse surprise le script ne fonctionne plus j'ai le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part UtilisateurLambda ALL=(UtilisateurDeService) NOPASSWD: /usr/local/bin/git
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.
Partager