19

sudo в Ubuntu постоянно спрашивает мой пароль для каждой команды. Раньше мне приходилось вводить пароль только один раз, и тогда он запоминался на некоторое время. Это недавно изменилось, вероятно, после "обновления" до Natty.

Я сделал sudo visudo и установил значения по Defaults env_reset, timestamp_timeout = 60 , попытался перезагрузиться, но он все еще не работает. Как это исправить?

После приведенных ниже предложений мой /etc/sudoers выглядит следующим образом:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults:endolith timestamp_timeout=60

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

Обновить:

Я обновил свой VirtualBox, и он начал страдать от той же проблемы. В какой-то момент я запустил bash и попытался выполнить sudo, и пароль запомнился правильно. Это только тогда , когда я использую мои оболочки по умолчанию рыбы , что она не помнит. Это было в предыдущем выпуске Ubuntu, но больше нет.

Обновить:

Я обновился до 13.05, и это снова волшебным образом заработало. Теперь он запрашивает мой пароль один раз, перестает спрашивать какое-то время, а затем снова запрашивает через некоторое время.

4 ответа4

15

@endolith: Да, это только влияет на рыбу. У меня была та же проблема, проблема вызвана параметром sudo "tty_tickets". Отключение этого в вашем файле /etc /sudoers решит проблему.

Следующее отключит tty_tickets:

Defaults        env_reset,!tty_tickets
5

Если ничего не работает, попробуйте sudo -i (само по себе). Это даст вам корневую оболочку после одного пароля.

1

Мне нужно было ввести пароль только один раз, и тогда он будет запомнен на некоторое время.

Если бы я догадался, я бы поспорил, что что-то в вашем каталоге /var/run/sudo испорчено. В этом каталоге хранятся файлы меток времени. Может быть, /var /run заполнен, возможно, права доступа испорчены. В любом случае, посмотрите на этот каталог, я подозреваю, что ваша проблема может быть там.

Права доступа к моей папке выглядят так.

# find /var/run/sudo/ -ls
1164242    4 drwx------   6 root     root         4096 Jan  1  1985 /var/run/sudo/
1179694    4 drwx------   2 root     www-data     4096 Jan  1  1985 /var/run/sudo/www-data
1164286    4 drwx------   2 root     myuser      4096 Jul 21 23:03 /var/run/sudo/myuser
1163399    0 -rw-------   1 root     myuser         0 Jul 13 22:42 /var/run/sudo/myuser/0
1163453    0 -rw-------   1 root     myuser         0 Jul 21 22:59 /var/run/sudo/myuser/2
1164309    0 -rw-------   1 root     myuser         0 Jul 21 23:03 /var/run/sudo/myuser/6
1163303    0 -rw-------   1 root     myuser         0 Jul 13 22:31 /var/run/sudo/myuser/5

В качестве хорошей меры вы также можете попробовать запустить sudo -K чтобы убить ваши текущие файлы меток времени.

0

Я бы проверил каталог /etc/sudoers.d/.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .