Сегодня рассмотрим некоторые не совсем обязательные, но довольно интересные возможности утилиты sudo
. Может быть, кому-то это покажется важным, и этот кто-то попробует использовать данную информацию в своей работе.
Журнал команд sudo
В конфигурационном файле /etc/sudoers
есть настройка, позволяющая сохранять журнал команд, выполненных с использованием sudo
. Исходя из этого, необходимо будет обратиться именно к нему:
$ sudo visudo
В данный файл для запуска логирования команд необходимо добавить следующую строку:
Defaults logfile="/var/log/sudo.log"
Эта строка указывает, что все инструкции, выполненные через sudo
, будут сохраняться в файле sudo.log
, находящемся в директории /var/log/
. Соответственно, вы можете указать какой-то свой файл, который будет лежать в каком-то вашем каталоге. По окончании редактирования, внесённый изменения следует сохранить. После этого содержимое данного файла будет выглядеть примерно так:
Как видно, данный лог содержит информацию о:
- дате и времени выполнения команды;
- имени учётной записи, выполнившей её;
- номере терминала;
- текущем каталоге;
- пользователе, от имени которого команда была выполнена;
- и, наконец, о самой команде.
Звёздочки при наборе пароля
Когда вы вводите пароль, который запрашивает утилита sudo
, система не даёт никакой обратной связи. Другими словами, при наборе пароля всё выглядит так, как будто ничего не происходит. Вероятно, это сделано в целях повышения уровня безопасности. И для тех, кто к этому привык, такой момент не вызывает никаких неудобств. Но в sudo
всё же присутствует настройка, позволяющая отображать звёздочки при наборе пароля, как это реализовано во многих других приложениях.
Для настройки необходимо опять обратиться к файлу конфигурации sudo
:
$ sudo visudo
Там нужно найти такую строку:
Defaults env_reset
Её необходимо отредактировать так, чтобы строка выглядела следующим образом:
Defaults env_reset, pwfeedback
Внесённые в конфигурацию изменения следует сохранить при закрытии файла sudoers
. А для того, чтобы изменения применились, нужно выполнить команду:
$ reset
После применения данной настройки вы сможете видеть звёздочки при наборе пароля, который требует ввести утилита sudo
:
Продолжительность сессии sudo
После того, как вы ввели пароль sudo
, в течение какого-то промежутка времени у вас есть возможность работать с sudo
без необходимости набирать пароль. По умолчанию во многих Linux-системах продолжительность такой сессии составляет 15 минут. То есть, в течение пятнадцати минут вы можете использовать sudo
без пароля, после чего система попросит вас ввести его снова. В настройках sudo
есть возможность изменить продолжительность этого периода времени.
Делается это также через редактирование файла конфигурации sudo
:
$ sudo visudo
В данном случае вам также необходимо найти строку
Defaults env_reset
И привести её к следующему виду:
Defaults env_reset, timestamp_timeout=30
В нашем примере мы установить значение продолжительности сессии в 30 минут. Вы можете отредактировать его по своему усмотрению. Вы даже можете установить его как 0
. В таком случае система будет запрашивать пароль при каждом обращении к sudo
. Использование значения -1
в свою очередь отключит запрос пароля навсегда.
В течение сессии sudo
можно прекратить данный сеанс, даже если срок сессии ещё не истёк. Данную возможность предоставляет следующая команда:
$ sudo -k