Ви можете додати рядок типу
%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
замість цього)