убить sudo с определенным временем каждый раз

мы все знаем, что в Ubuntu sudo пароль будет автоматически сохраняться в течение 15 минут и истекает после этого. Но я хочу сделать это для быстрого истечения срока действия. Я имею в виду, что я не хочу менять какие-либо настройки, и когда я когда-либо захочу, моя система должна выпустить пароль без сохранения в течение 15 минут. Я имею в виду, что он должен хранить только 3 минуты или 4 минуты, например.

Как я могу это сделать?

0
задан 13 April 2017 в 15:24

5 ответов

Отредактируйте файл sudoers с помощью sudo visudo и добавьте следующую строку после существующих значений по умолчанию:

Defaults    timestamp_timeout=3

Примечание: visudo не означает , что означает , что он обязательно отредактирует это с помощью vi / vim / etc, но если вы обнаружите, что значение $ EDITOR равно sqwiffed-up, и вы предпочитаете nano, вы можете вместо этого запустить sudo EDITOR=nano visudo, чтобы nano стал вашим редактором.

Трюк из предложенного дубликата , (sudo -k) хорош для немедленного сброса привилегий.

0
ответ дан 13 April 2017 в 15:24

Вы можете отменить оставшееся время ожидания 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

0
ответ дан 13 April 2017 в 15:24

Я думаю, что нашел это, используйте команду at.

Я имею в виду

sudo apt-get install <application> & echo "sudo -k" | at now + 2 min 
0
ответ дан 13 April 2017 в 15:24

Вы могли использовать что-то как следующая функция удара (я не протестировал это хорошо):

function tmpsudo {
    sudo ${*:2}
    (sleep $(($1 * 60)) && sudo -k) &
}

Вы использовали бы его как так для 2-минутного тайм-аута:

tmpsudo 2 command

Это действительно грязно и существует не сброшено таймером, но это - опция.

0
ответ дан 13 April 2017 в 15:24

Или вы можете объединить sudo -k

sudo apt-get install package ; sudo -k

Метод может быть любым, что позволит вам удалить разрешения sudo в конце.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: