Есть ли способ, с помощью которого я могу сделать так, чтобы команда sudo
давала мне разрешения на более длительный период, чем время по умолчанию?
Это может быть болью от необходимости вводить пароль sudo
, когда требуется установка множества пакетов, было бы неплохо, если бы существовала команда или конфигурация, которые могли бы быть выполнены, чтобы повлиять на период использования.
Поведение sudo
настроен в /etc/sudoers
файл. Существует timestamp_timeout
опция, ответственная за перезапрос пользователя для пароля после определенного количества времени.
timestamp_timeout
Number of minutes that can elapse before sudo will ask
for a passwd again. The timeout may include a frac‐
tional component if minute granularity is insufficient,
for example 2.5. The default is 15. Set this to 0 to
always prompt for a password. If set to a value less
than 0 the user's time stamp will never expire.
Для изменения той установки делают следующее:
sudo visudo
. visudo
используется конкретно для редактирования /etc/sudoers
файл и использованием по умолчанию nano
текстовый редактор.Найдите строки, запускающиеся с Defaults
. Добавьте следующую строку
Defaults timestamp_timeout=x
где x является суммой минут, Вы хотите между переподсказками
Сохраните файл с Ctrl + O
От man sudoers
:
timestamp_timeout
Number of minutes that can elapse before sudo will ask
for a passwd again. The timeout may include a frac‐
tional component if minute granularity is insufficient,
for example 2.5. The default is 15. Set this to 0 to
always prompt for a password. If set to a value less
than 0 the user's time stamp will never expire. This
can be used to allow users to create or delete their
own time stamps via “sudo -v” and “sudo -k” respec‐
tively.
Как Вы видите, тайм-аут по умолчанию sudo
15 минут. Можно изменить это значение в /etc/sudoers
.
Вы непосредственно не редактируете /etc/sudoers
, вместо этого используйте visudo
сделать это.
От man visudo
:
visudo edits the sudoers file in a safe fashion, analogous to vipw(8).
visudo locks the sudoers file against multiple simultaneous edits, pro‐
vides basic sanity checks, and checks for parse errors. If the sudoers
file is currently being edited you will receive a message to try again
later.
Так, введите sudo visudo
в терминале, который откроется /etc/sudoers
файл в nano
текстовый редактор.
Ищите эту строку:
Defaults env_reset
И добавьте timestamp_timeout=X
где X время, Вы хотите установить в минутах.
Таким образом, как пример:
Defaults env_reset,timestamp_timeout=5
Если Вы укажете 0, то Вас будут всегда спрашивать пароль. При определении отрицательной величины тайм-аут никогда не будет истекать.
После того, как сделанный, сохраните и выйдите.
Посмотрите RootSudoTimeout
Можно отредактировать /etc/sudoers
файл (с sudo visudo
: будьте осторожны), и добавьте строку как
Defaults:myname timestamp_timeout=15
, где myname
Ваш идентификатор пользователя. Значение тайм-аута находится в минутах. Можно использовать значение-1, чтобы никогда истечь, и затем тип sudo -k
для уничтожения аутентификации, таким образом, Вам нужен пароль снова.
Или можно добавить запись, чтобы сказать, что для определенной команды не нужен пароль вообще.
Я не могу полагать что самая простая команда:
sudo -s
не упоминается здесь. Переключатель "-s" дает Вам консоль с корневыми полномочиями, это длится, пока Вы не выходите из него. Никакая потребность к лесному ореху вокруг с настройками по умолчанию.
Все другие ответы до сих пор, кажется, центрируются вокруг изменения тайм-аута по умолчанию как долго, прежде чем необходимо будет ввести пароль снова с sudo
. Однако, если Вы хотите просто смочь к командам выполнения как корень, не предварительно ожидая каждая команда с sudo
, можно получить корневую оболочку с:
sudo -i
или
sudo bash
или
sudo <your preferred shell here>
, В то время как все они действительно только запускают единственный процесс как корень, единственный рассматриваемый процесс именно так, оказывается, оболочка, которая позволит Вам запускать столько других процессов, сколько Вам нравится как корень без дальнейшей потребности к типу sudo
или паролю. :)
, Конечно, с великой державой прибывает большая ответственность, не делайте глупого материала, и т.д.
Попробуйте это.
Выполнение следующая команда в Терминале:
sudo visudo
Прокручивают вниз к строке, которая похожа на это:
Defaults env_reset
Изменение это к, например:
Defaults env_reset,timestamp_timeout=30
Изменение 30 ко времени, в минутах, что Вы хотите, чтобы это ожидало, прежде чем это испытает таймаут. Можно также изменить его на 0, если Вы хотите подсказку пароля каждый раз, когда Вы выполняете sudo, или-1, если Вы никогда не хотите, чтобы Нажатие подсказки пароля Ctrl + X закончило редактировать, Y для сохранения изменений, и Входите в выход.
Вот источник: http://lifehacker.com/make-sudo-sessions-last-longer-in-linux-1221545774
Если Вы ищете решение, которое не изменяет конфигурационный файл , например, когда Вы хотите, чтобы маркер продлился дольше для определенной сессии, или что это применяется только после явного действия Вы могли бы попробовать следующее:
# Work as is with Bash 4.1.2(1)-release and later, this might require some adaptation for other shells
(while [ true ]; do sudo -v; sleep $((60*4)); done)&
В основном предыдущий код обновляют sudo маркер каждые 4 минуты , посредством процесса, запущенного в фоне.
Действительно, согласно sudo
руководство: "тайм-аут подсказки пароля по умолчанию для sudoers политики безопасности составляет 5 минут ". Таким образом в зависимости от системы определенная политика, Вы могли бы настроить количество времени передача цикла, спящая между двумя циклами.
После наблюдения слишком многих вопросов от пользователей, которые изменили файлы конфигурации и были смущены тем, почему их изменения были перезаписаны после обновления пакета, я отмечу это, если Вы захотите изменить timestamp_timeout
, лучше сделать это путем создания файла в /etc/sudoers.d
вместо того, чтобы изменять /etc/sudoers
непосредственно.
Таким образом, необходимо сделать
sudo visudo -f /etc/sudoers.d/timeout
(название файла может быть тем, что Вы хотите, пока это не содержит период (.
) ни конец с тильдой (~
)). Вместо открытия /etc/sudoers
в Вашем предпочтительном редакторе это откроется /etc/sudoers.d/timeout
, обычно как пустой файл, так как это не существует. Поместите Ваш
Defaults timestamp_timeout=X
в нем, и сохраняют, как обычно. Затем, если новая версия /etc/sudoers
выходит, Вы не должны выбирать между установкой более новой версии или хранением Ваших изменений - у Вас автоматически будут оба.