Al configurar un sudo
entorno, noté que la directiva include está prefijada con el carácter de libra (#).
Solaris muestra esto como:
## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d
El manual (Linux y Solaris) establece:
Inclusión de otros archivos desde dentro de sudoers Es posible incluir otros archivos de sudoers desde dentro del archivo de sudoers que se analiza actualmente utilizando las directivas #include y #includedir.
Y:
Otros caracteres especiales y palabras reservadas El signo de número (`# ') se usa para indicar un comentario (a menos que sea parte de una directiva #include o a menos que aparezca en el contexto de un nombre de usuario y esté seguido por uno o más dígitos, en cuyo caso se trata como un uid). Se ignoran tanto el carácter del comentario como cualquier texto que se encuentre después, hasta el final de la línea.
¿Alguien sabe por qué se tomó la decisión de utilizar el carácter de libra en las directivas #include
y #includedir
?
Como nota al margen: a menudo uso algo como egrep -v '^#|^$' configfile
obtener las configuraciones configuradas no predeterminadas / activas, y esto obviamente no funciona para el sudoers
archivo.
sudoers
archivo pensé queinclude
era una directiva y#include
una directiva comentada . La regla de la menor sorpresa violó con fuerza. En mi opinión, es un mal diseño.