Background: J'ai une machine de développement avec configuration LAMP. Plusieurs développeurs accèdent de temps en temps à la machine. Chaque fois qu'ils modifient un fichier de configuration, ils devront redémarrer le serveur Apache à l'aide de Sudo service Apache restart
ou de Sudo /etc/init.d/Apache2 restart
.
La question:
Ce que je veux maintenant, c’est que chaque développeur qui accède à la machine ne dispose pas d’un accès Sudo à tout. Au lieu de cela, il/elle ne devrait pouvoir exécuter que la commande service
en utilisant Sudo et rien d’autre. Est-il possible de faire ça?
Oui.
Créez un nouveau groupe, sur le Web (appelez-le comme vous le souhaitez)
Sudo addgroup web
Ajoutez vos développeurs au groupe Web (utilisez leur nom de connexion).
Sudo adduser your_developer_user web
Ensuite, exécutez Sudo visudo -f /etc/sudoers.d/somefile
(utilisez un nom explicite à la place de somefile
).
Ajoutez une ligne (utilisez le chemin complet de la commande):
%web ALL=(ALL) /usr/bin/service Apache2 *
Les développeurs peuvent alors exécuter
Sudo service Apache
en utilisant leur mot de passe de connexion.
N'ajoutez PAS votre utilisateur admin au groupe Web.
Voir man sudoers pour plus d'informations