Я хочу сделать псевдоним для rm -rf /
. Я знаю, как сделать псевдоним; проблема состоит в том, что я не знаю, как использовать последовательность команд для создания псевдонима со всеми ними. Я хочу что-то как rm -rf / = echo 'something'
, но только когда "/" используется.
Как я могу достигнуть этого?
Это было бы намного лучше сделано путем применения соответствующих полномочий препятствовать тому, чтобы люди удалили материал.
Это искажение вЂsecurity’ подход было бы легко переопределено путем отключения псевдонима, symlinking к rm
и выполнения его тот путь, копирования rm
двоичный файл или возможно даже выполнения его непосредственно.
необходимо защитить рабочий стол путем нажатия Ctrl + Высокий звук + L для блокировки его при оставлении его необслуживаемым.
Простое bash
функция сделала бы (но это может, очевидно, быть перезаписано пользователем):
rm () { [[ $1 =~ -(rf|fr) && $2 = / ]] && echo "whatever" || command rm "$@" ;}
Примечание, что, даже если бы некоторый пользователь делает rm -rf /
, операция не продолжилась бы, поскольку нужно ввести --no-preserve-root
опция с rm
для удаления корневого каталога рекурсивно. (Но ничто не препятствует тому один делать rm -rf /*
или cd /; rm -rf *
между прочим)
, Но необходимо посмотреть на реализацию хорошей политики безопасности вместо исправляющих обезьяну чувствительных материалов.
Настоящей проблемой здесь является безопасность Вашей системы. "Люди", с которыми Вы работаете, не должны мочь к rm -rf /
, так как это требует корневого доступа - реализация лучшей модели обеспечения безопасности избежала бы некомпетентных людей от повреждения системы плюс Ваш rm
, команда должна (если это - последняя версия), реализация --no-preserve-root
.