Таймаут запроса пароля при выполнении sudo
При выполнении команд через sudo при первом запуске запрашивается пароль. Последующие команды выполняются уже без пароля. Через какой-то промежуток времени пароль запрашивается снова. По умолчанию время sudo-сессии 15 минут.
Рассмотрим, как изменить время запроса пароля для sudo, а также, как запрашивать пароль при каждом выполнении sudo, если это нужно:
Необходимо изменить настройки sudo. Для этого выполните команду:
sudo visudo
Откроется текстовый редактор (чаще всего это будет nano) с конфигурационным файлом.
Найдите строку:
Defaults env_reset
Допишите в конце строки через запятую следующую опцию timestamp_timeout=x. Должно получиться:
Defaults env_reset, timestamp_timeout=59
Здесь 59 — это и есть время в минутах через которое sudo будет запрашивать пароль.
Должно получиться вот так:
Сохрание изменения и закройте редактор:
Для этого нажмите сочетание клавиш Ctrl+X. Появится сообщение "Сохранить измененный буфер?" (Save modified buffer?), нажмите клавишу Y, чтобы сохранить изменения или N, чтобы отменить изменения. Если на предыдущем шаге вы нажали Y, то появится сообщение "Имя фала для записи: /etc/sudoers.tmp" (File Name to Write: /etc/sudoers.tmp) — просто нажмите клавишу Enter.
Примечание: работать с visudo следует очень внимательно и аккуратно, т-к любая синтаксическая ошибка (к примеру лишний пробел) может сломать sudo и это еще в лучшем случае.
Запрос пароля при каждом выполнении sudo
Если timestamp_timeout указать равным 0, то пароль будет запрашиваться при каждом выполнении команды sudo.
Прервать sudo сессию
Если, например, вы уже ввели sudo пароль и вам необходимо сделать так, чтобы пароль был запрошен снова при следующем выполнении sudo, то можно прервать sudo сессию. Для этого используется ключ -k. Выполните команду:
sudo -k
Теперь при следующем выполнении sudo, вновь будет запрошен пароль.
Войти в терминал как root
Предположим, вы открыли окно терминала и вам нужно выполнять какой-то набор команд с админскими правами. Можно перед каждой командой вводить sudo, а можно внутри терминала запустить shell от имени root’а (главного админа). Для этого используется ключ -s. Выполните команду:
sudo -s
Обратите внимание, что теперь вы работаете от имени пользователя root, поэтому пока вы работаете в данном окне терминала, пароль для sudo вводить не нужно. Чтобы выйти из sudo-сессии (закрыть root-shell) выполните команду exit.
Стоит предупредить, что пользоваться режимом root следует только в самых крайних и необходимых случаях, поскольку данный режим обеспечивает полный доступ к ресурсам Вашей системы (в т.ч. и для вредоносного ПО).