Você pode usar '!' para negar comandos, usuários, etc. No entanto, você deve ser cuidadoso. A man page para sudoers carrega este aviso;
Limitations of the ‘!’ operator It is generally not effective to “subtract” commands from ALL using the ‘!’ operator. A user can trivially circumvent this by copying the desired command to a different name and then executing that. For example: bill ALL = ALL, !SU, !SHELLS Doesn't really prevent bill from running the commands listed in SU or SHELLS since he can simply copy those commands to a different name, or use a shell escape from an editor or other program. Therefore, these kind of restrictions should be considered advisory at best (and reinforced by policy). In general, if a user has sudo ALL there is nothing to prevent them from creating their own program that gives them a root shell (or making their own copy of a shell) regardless of any ‘!’ elements in the user specification.
Seu exemplo de iptables ilustra bem isso. Se você não conceder ALL , você terá que conceder explicitamente permissões para um comando ou conjunto de comandos que permitiria que eles editassem o iptables. Você não precisa negar quaisquer comandos , a menos que você use ALL . Será extremamente desafiador evitar isso de outra forma.
Em vez de definir a política para 500 usuários, por que não aplicá-la a grupos? Se todos estiverem em um grupo comum, você poderá usar '%' para denotar um grupo. Veja o exemplo em / etc / sudoers para o grupo wheel.
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL