Quero configurar o sudoedit sem senha para editar arquivos, /etc
com exceção dos próprios arquivos do sudoer.
Tentei usar o seguinte /etc/sudoers.d/sudoedit
:
%sudo ALL=(root) NOPASSWD: sudoedit ^/etc/(?!sudo).*$
mas isso não parece funcionar, pois o sudo usa um mecanismo de regex antigo sem o recurso de lookahead negativo.
Existe outra maneira de conseguir isso? Talvez com a combinação de /etc
e a negação de !/etc/sudo
?
Não sou
sudo
especialista, mas você pode aproveitar que os padrões posteriores têm prioridade e, portanto, usarO regexp tenta incluir todos os caminhos razoáveis em
/etc
, o que inclui arquivos com.
e_
e assim por diante. A próxima linha proíbesudo
que apareçam, para evitar/etc/./sudoers
. A última linha proíbe..
, o que evita/etc/../
. Ainda pode haver alguns arquivos excepcionais que não são permitidos, mas deveriam ser, por exemplo, systemd tem arquivos com\x2d
no nome do arquivo, e pode haver nomes de arquivos contendosudo
que não estão dentro de/etc/sudoers.d/
.