мы все знаем, что в Ubuntu sudo пароль будет автоматически сохраняться в течение 15 минут и истекает после этого. Но я хочу сделать это для быстрого истечения срока действия. Я имею в виду, что я не хочу менять какие-либо настройки, и когда я когда-либо захочу, моя система должна выпустить пароль без сохранения в течение 15 минут. Я имею в виду, что он должен хранить только 3 минуты или 4 минуты, например.
Как я могу это сделать?
Отредактируйте файл sudoers с помощью sudo visudo
и добавьте следующую строку после существующих значений по умолчанию:
Defaults timestamp_timeout=3
Примечание: visudo
не означает , что означает , что он обязательно отредактирует это с помощью vi / vim / etc, но если вы обнаружите, что значение $ EDITOR равно sqwiffed-up, и вы предпочитаете nano, вы можете вместо этого запустить sudo EDITOR=nano visudo
, чтобы nano стал вашим редактором.
Трюк из предложенного дубликата , (sudo -k
) хорош для немедленного сброса привилегий.
Вы можете отменить оставшееся время ожидания sudo с помощью
sudo -k
Как объяснено здесь
Но если вы хотите изменить значение по умолчанию с 15 минут, вы можете сделать это by
sudo visudo
Это открывает редактор и указывает его на файл sudoers - Ubuntu по умолчанию использует nano, другие системы используют Vi. Теперь вы супер пользователь, редактирующий один из самых важных файлов в вашей системе. Никаких стрессов!
(Особые инструкции Vi отмечены знаком (vi!). Игнорируйте их, если вы используете nano)
Используйте клавиши со стрелками, чтобы перейти к концу строки по умолчанию. [ 1113]
(vi!) Нажмите клавишу A (заглавная «a»), чтобы переместиться в конец текущей строки и войти в режим редактирования (добавить после последнего символа в строке).
Теперь введите
,timestamp_timeout=X
, где X - истечение времени ожидания в минутах. Если вы укажете 0, вам всегда будет предложено ввести пароль. Если вы укажете отрицательное значение, время ожидания никогда не истечет. Например.
Defaults env_reset,timestamp_timeout=5
(vi!) Нажмите Escape, чтобы вернуться в командный режим. Теперь, если вы довольны своим редактированием, введите: w, чтобы написать файл, и: q, чтобы выйти из vi. Если вы допустили ошибку, возможно, самый простой способ - повторить с начала, выйти без сохранения (нажмите Escape, чтобы войти в командный режим) и затем набрать: q! .
нажмите CTRL + X, затем Y, затем, чтобы сохранить файл и выйти из nano.
Возможно, вы захотите прочитать sudoers и vi справочные страницы для получения дополнительной информации.
man sudoers
man vi
Большая часть этого взята непосредственно из RootSudoTimeout в официальной документации по Ubuntu
Я думаю, что нашел это, используйте команду at
.
Я имею в виду
sudo apt-get install <application> & echo "sudo -k" | at now + 2 min
Вы могли использовать что-то как следующая функция удара (я не протестировал это хорошо):
function tmpsudo {
sudo ${*:2}
(sleep $(($1 * 60)) && sudo -k) &
}
Вы использовали бы его как так для 2-минутного тайм-аута:
tmpsudo 2 command
Это действительно грязно и существует не сброшено таймером, но это - опция.
Или вы можете объединить sudo -k
sudo apt-get install package ; sudo -k
Метод может быть любым, что позволит вам удалить разрешения sudo в конце.