Lors de la configuration d'un sudo
environnement, j'ai remarqué que la directive include était préfixée par le caractère pound (#).
Solaris affiche ceci sous la forme:
## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d
Le manuel (Linux et Solaris) indique:
Inclusion d'autres fichiers de sudoers Il est possible d'inclure d'autres fichiers sudoers à partir du fichier sudoers en cours d'analyse en utilisant les directives #include et #includedir.
Et:
Autres caractères spéciaux et mots réservés Le signe dièse ("#") est utilisé pour indiquer un commentaire (sauf s'il fait partie d'une directive #include ou s'il apparaît dans le contexte d'un nom d'utilisateur et est suivi d'un ou de plusieurs chiffres, dans ce cas, il est traité comme un uid). Le caractère de commentaire et le texte qui le suit, jusqu'à la fin de la ligne, sont ignorés.
Est-ce que quelqu'un sait pourquoi le choix a été fait d'utiliser le caractère dièse dans le #include
et#includedir
directives ?
Remarque: j'utilise souvent quelque chose comme egrep -v '^#|^$' configfile
obtenir les paramètres configurés non définis par défaut / actifs, et cela ne fonctionne évidemment pas pour le sudoers
fichier.
sudoers
dossier, j’ai pensé qu’il s’agissait d’include
une directive et que celle-ci#include
est commentée . La règle de la moindre surprise violée durement. A mon avis c'est un mauvais design.