Você pode limitar os comandos que um usuário pode executar e até quais privilégios eles podem executar esses comandos usando o sudo. Todas essas configurações são feitas no arquivo /etc/sudoers
, que é editado pelo comando visudo
.
A configuração básica que normalmente é instalada com o sudo e usada permite que os usuários do grupo wheel executem programas como o usuário root. A página man do sudoers (5) oferece informações abrangentes sobre como configurar o sudo para que um usuário possa executar apenas um programa que eles devem ter acesso, e com quais permissões eles devem ter permissão para executar o programa.
Observe também que, mesmo que um usuário tenha autorização para executar um comando, o sudo registra todos os usos. Geralmente isso é para o seu syslog, cuja localização depende de como você tem logs e logging configurados em seu sistema.
Se você está olhando para mera experimentação (ao contrário de realmente querer impedir alguém de executar um programa, mas ainda dar-lhes as chaves do seu reino através do sudo), você provavelmente poderia escrever um script wrapper para o sudo. No script wrapper, intercepte a mensagem de log para determinar se o programa indesejado foi solicitado a ser executado ou, melhor ainda, observe o comando solicitado para ser executado com privilégios sudo e passe o comando para sudo normalmente ou negue a ação. Esteja ciente de que um script wrapper também pode ser ignorado se o usuário souber e puder acessar o caminho para o binário sudo.