Vous pouvez ajouter une ligne comme
%admin ALL = !/bin/rm -rf /
dans votre sudoers
fichier 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, rm
alors 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 /Volumes
cela fonctionnerait toujours (comme le ferait cd /; sudo rm -rf .
).
PS: par tous les moyens, utilisez sudo visudo
pour modifier le sudoers
fichier et ne le modifiez JAMAIS directement
PPS: Je n'ai évidemment pas testé cela avec rm
(uniquement avec à la /bin/echo
place)