A tag NOEXEC
não impede que programas sejam executados. Impede que programas listados executem quaisquer outros programas. De man sudoers :
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
This allows user aaron to run /usr/bin/more and /usr/bin/vi with noexec enabled. This will prevent those two commands from executing other commands (such as a shell).
If you are unsure whether or not your system is capable of supporting noexec you can always just try it out and check whether shell escapes work when noexec is enabled.
Se você quiser impedir que os usuários executem um comando específico, consulte !
, por exemplo:
ssh ALL=(root) ALL, !/usr/bin/passwd
Por favor, note que esta linha não ajuda muito, pois seria possível criar uma cópia do /usr/bin/passwd
com um nome diferente, copiar um no host e definir as permissões apropriadas, etc.