Например, если я запустил sudo apt-get install vlc, он попросит меня ввести пароль sudo.
Если я не укажу пароль для sudo, он [sudo] password for avinash: останется надолго. 1]
Как установить это время ожидания пароля sudo? Если это время ожидания истекает, оно автоматически показывает time expires. Возможно ли это?
Примечание: я не спрашиваю, как долго запоминает пароль (RootSudoTimeout - Документация сообщества Ubuntu).
Нет, это невозможно. Сам ввод пароля не имеет на нем таймера. Он будет ждать, пока вы не подтвердите ввод.
Если вы хотите отменить команду вместо ввода пароля, нажмите Ctrl-C.
Легко использовать функцию SUDO_ASKPASS от sudo.
Создайте этот скрипт sudo-askpass-timeout.sh где-нибудь:
#! /bin/bash -eu ## dash doesn't support read -s
# "read" will not reset the terminal echo mode if it is canceled. Let's save/restore the tty status.
stty_orig=`stty -g`
trap 'stty "$stty_orig"' EXIT
## Default timeout is 60 seconds.
if read -s -t ${READ_TIMEOUT:-60} -p "$*"
then
echo "$REPLY"
else
echo "Timeout" >&2
exit 1
fi
Затем создайте что-то вроде sudo-timeout.sh в том же каталоге:
[ f2]Пример:
sudo-timeout.sh apt-get update ##Default: 60 second timeout
sudo-timeout.sh -t 30 apt-get update