Je souhaite ajouter un fichier au /etc/sudoers.d
dossier contenant une directive autorisant www-data
pour exécuter un script spécifique sans mot de passe root.
La directive est
www-data ALL=(ALL) NOPASSWD: /path/to/script.sh
Si je visudo
et l'ajoute à /etc/sudoers
, Il n'y a pas de problème.
Si je mets cette ligne dans un fichier et la copie dans /etc/sudoers.d
, puis visudo
, cela m'indique que le fichier a une 'erreur de syntaxe près de la ligne 1'.
Y a-t-il autre chose que je dois mettre dans le fichier, ou autre chose que je dois faire pour le faire fonctionner?
J'utilise Ubuntu 18.
Merci!
J'ai découvert le problème - pour les fichiers dans /etc/sudoers.d, le fichier ne doit pas se terminer à la directive, mais sur une nouvelle ligne. Ceci est plus facilement montré avec cat -A
.
Fichier non valide:
root@server:/etc/sudoers.d# cat -A /etc/sudoers.d/testfile
www-data ALL=(ALL) NOPASSWD: /path/to/script.shroot@server:/etc/sudoers.d#
Fichier valide:
root@server:/etc/sudoers.d# cat -A /etc/sudoers.d/testfile
www-data ALL=(ALL) NOPASSWD: /path/to/script.sh$
root@server:/etc/sudoers.d#