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


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, и это снова волшебным образом заработало. Теперь он запрашивает мой пароль один раз, перестает спрашивать некоторое время, а затем снова запрашивает через некоторое время.


возможный дубликат: superuser.com/questions/148665/…
Уоррен

3
@ Warren: Это не дубликат. Мне нужно будет ввести пароль, но после того, как я его ввел один раз, мне не нужно в течение определенного времени. Я изменил это количество времени с visudo в прошлом, но он больше не работает.
эндолит

Я думаю, что вы должны использовать несколько операторов по умолчанию, а не один общий разделенный.
Стефани

@Stephanie, я уверен, что наличие одного оператора Defaults со значениями, разделенными запятыми, работает нормально.
Zoredache

я вижу, что вы добавили строку вроде Defaults:endolith timestamp_timeout=60, но вы не находитесь ни в одной группе под названием endolith, согласно другому комментарию здесь. так какое имя пользователя вы используете? Проверьте с whoami, и добавить , что имя пользователя вместо endolithв Defaults:endolith timestamp_timeout=60илиendolith ALL=(ALL) NOPASSWD: ALL
Вим

Ответы:


15

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

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

Defaults        env_reset,!tty_tickets

Есть ли у этого отрицательные последствия?
эндолит

1
«Будьте осторожны, если вы предлагаете SSH-доступ удаленным пользователям, поскольку вы можете непреднамеренно разрешить им делиться повышенными привилегиями с вами, если вы отключите tty_tickets». от ask.debian.net/questions/...
эндолиты

Я предлагаю SSH доступ удаленному пользователю, но это только для меня, поэтому я предполагаю, что это не вызывает какой-либо уязвимости?
эндолит

5

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


6
отличный момент, но немного более рискованный, чем запрос.
Мб

Учитывая, что это «способ Ubuntu» получить корневую оболочку, я решил, что это была аккуратная работа вокруг проблемы. Каждая команда все еще регистрируется.
Broam

1
Это не решает проблему, это просто способ игнорировать ее.
Зоредаче

Это скорее обходной путь, чем решение, но это хорошо, и я не против, если оно автоматически даст вам половину вознаграждения. :)
эндолит

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чтобы убить ваши текущие файлы меток времени.


find: '/var/run/sudo': No such file or directory
эндолит

Что ж, это плохой знак, почему бы не попробовать создать его и установить права доступа / права доступа, как указано выше.
Зоредаче

Или вы можете просто переустановить пакет.
Zoredache

переустанавливал sudo с синаптиком, и это все еще говорит, что
endolith

Я получаю то же самое на VirtualBox под управлением Ubuntu 10.10. в sudoпапке нет /var/run. В этой виртуальной машине она запоминает мой пароль, как и ожидалось, поэтому это не имеет значения. Единственное в visudo на этой виртуальной машине есть Defaults env_reset. Это также говорит %sudo ALL=(ALL) ALLвместо %sudo ALL=(ALL:ALL) ALL.
эндолит

0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.