Vous pouvez ajouter une ligne comme
%admin ALL = !/bin/rm -rf /
dans votre sudoersfichier pour empêcher l'exécution de la commande avec les options spécifiques.
Ou, si vous souhaitez exclure plusieurs commandes, vous pouvez travailler avec des alias de commande
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS
Vous pouvez également essayer de jouer en toute sécurité en utilisant
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
mais il peut toujours y avoir d'autres façons de se tirer une balle dans le pied, rmalors soyez prudent quand même.
Mais gardez à l'esprit que toutes les correspondances sont effectuées sur la chaîne complète de la commande, donc sudo rm -rf /Volumescela fonctionnerait toujours (comme le ferait cd /; sudo rm -rf .).
PS: par tous les moyens, utilisez sudo visudopour modifier le sudoersfichier et ne le modifiez JAMAIS directement
PPS: Je n'ai évidemment pas testé cela avec rm(uniquement avec à la /bin/echoplace)