Intereting Posts
Использование команды rename для переименования первой части файла Присвоение или привязка пользователя Redhat к использованию определенного идентификатора VLAN RVM + TMUX-Повторяющиеся записи в $ PATH dnsmasq вызывает невозможность разрешить DNS-запросы, сделанные хостом Как сделать переменную из подоболочки доступной в родительской оболочке не удалось войти в солярий Что такое lvmetad и почему я хочу или должен его использовать? использование tee для вывода промежуточных результатов в stdout вместо файлов Общий объем использования памяти одним процессом Перенос WASD + R_Shift на стрелки переопределить сеанс для пользователя (без списка пользователей) Проблема с запуском Google Chrome на Kali Linux 2016 jq – добавить объекты из файла в массив json Построение кухонного прибора: поток, серфинг, сенсорный экран, загрузка быстро Что означает (!) Означает время безотказной работы на htop

Как настроить Linux на проверку подлинности при запуске потенциально опасных команд?

Я сталкивался с временами, когда я случайно запускал опасные команды и потерял все свои данные. Как установить Linux для запроса текущего пароля пользователя или пароля пользователя root при запуске потенциально опасных команд, таких как rm -rf . или rm -rf / и многие другие?

На самом деле вы ничего не можете сделать, кроме использования sudo так что вам необходимо предоставить пароль для запуска команд с повышенными привилегиями, такими как root.

Другой совет, который вы часто будете использовать, – это обертывание деструктивных команд, таких как rm так что вам будет предложено «вы уверены»? или с rm вы можете использовать ключ -i который заставит rm быть интерактивным по своей природе, запрашивая подтверждение перед удалением каждого файла.

Будьте осторожны, но это, как правило, крайне раздражает, и вы, скорее всего, вернетесь к запуску с отключенным.

Основная проблема заключается в том, чтобы надежно идентифицировать «опасную команду». Но предположим, что у вас есть список опасных команд.

Вы можете «перезаписать» каждый двоичный файл функцией (аналогичной псевдониму оболочки, но более мощным):

 rm () { if is_dangerous rm "$@"; then echo "This is a dangerous command!" echo -n "Think well and type uppercase YES to really execute it: " read answer if [ YES = "$answer" ]; then executing rm "$@" command rm "$@" else echo "not executed" fi } 

is_dangerous будет скриптом или функцией, которая проверяет пройденную командную строку на список.