Você pode adicionar uma linha como
%admin ALL = !/bin/rm -rf /
para o seu sudoers
arquivo para impedir a execução do comando com as opções específicas.
Ou, se você quiser excluir vários comandos, poderá trabalhar com aliases de comando
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS
Você também pode tentar jogar pelo seguro usando
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /, /bin/rm / *, /bin/rm * /, /bin/rm -rf / *, /bin/rm -rf * /, /bin/rm -fr / *, /bin/rm -fr* /
%admin ALL=!DANGEROUS_CMNDS
mas ainda pode haver outras maneiras pelas quais você pode dar um tiro no próprio pé, rm
portanto, tenha cuidado .
Mas lembre-se de que toda a correspondência é feita em toda a cadeia de comando, portanto sudo rm -rf /Volumes
, ainda funcionaria (como seria cd /; sudo rm -rf .
).
PS: Por todos os meios, use sudo visudo
para editar o sudoers
arquivo e NUNCA editá-lo diretamente
PPS: Eu obviamente não testei isso com rm
(apenas com /bin/echo
)