Сегодня рассмотрим некоторые не совсем обязательные, но довольно интересные возможности утилиты 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
