Вы можете добавить строку как
%admin ALL = !/bin/rm -rf /
в ваш sudoersфайл, чтобы предотвратить выполнение команды с конкретными параметрами.
Или, если вы хотите исключить несколько команд, вы можете работать с псевдонимами команд
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS
Вы также можете попытаться избежать опасности, используя
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
но все еще могут быть другие способы, которыми вы можете выстрелить себе в ногу, rmтак что будьте осторожны в любом случае.
Но имейте в виду, что все сопоставления выполняются для полной строки команды, поэтому sudo rm -rf /Volumesвсе равно будет работать (как и было бы cd /; sudo rm -rf .).
PS: Конечно, используйте sudo visudoдля редактирования sudoersфайла и НИКОГДА не редактируйте его напрямую
PPS: Я явно не проверял это с rm(только /bin/echoвместо)