Ao configurar um sudo
ambiente, notei que a diretiva include é prefixada com o caractere de libra (#).
O Solaris mostra isso como:
## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d
O manual (Linux e Solaris) declara:
Incluindo outros arquivos de dentro de sudoers É possível incluir outros arquivos de sudoers do arquivo de sudoers atualmente sendo analisados usando as diretivas #include e #includedir.
E:
Outros caracteres especiais e palavras reservadas O sinal de cerquilha (`# ') é usado para indicar um comentário (a menos que faça parte de uma diretiva #include ou a menos que ocorra no contexto de um nome de usuário e seja seguido por um ou mais dígitos, nesse caso, é tratado como um uid). O caractere de comentário e qualquer texto a seguir, até o final da linha, são ignorados.
Alguém sabe por que a escolha foi feita para usar o caractere de libra nas diretivas #include
e #includedir
?
Como uma observação lateral: costumo usar algo como egrep -v '^#|^$' configfile
para obter as configurações não padrão / ativas, e isso obviamente não funciona para o sudoers
arquivo.
sudoers
arquivo, pensei queinclude
fosse uma diretiva e#include
uma diretiva comentada . A regra da menor surpresa violou com força. Na minha opinião, é um design ruim.