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

5798
endolith

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

19
возможный дубликат: http://superuser.com/questions/148665/linux-unix-how-to-enable-one-user-to-sudo-without-a-password warren 12 лет назад 0
@ Warren: Это не дубликат. Мне нужно будет ввести пароль, но после того, как я его ввел один раз, мне не нужно это делать в течение определенного периода времени. Я изменил это количество времени с visudo в прошлом, но он больше не работает. endolith 12 лет назад 3
Я думаю, что вы должны использовать несколько операторов по умолчанию, а не один общий разделенный. Stephanie 12 лет назад 0
@Stephanie, я уверен, что наличие одного оператора Defaults со значениями, разделенными запятыми, работает нормально. Zoredache 12 лет назад 0
я вижу, что вы добавили строку типа `Defaults: endolith timestamp_timeout = 60`, но вы не входите ни в одну группу под названием endolith, в соответствии с другим комментарием здесь. так какое имя пользователя вы используете? Проверьте с помощью «whoami» и добавьте это имя пользователя вместо «endolith» в «Defaults: endolith timestamp_timeout = 60` или« endolith ALL = (ALL) NOPASSWD: ALL` wim 12 лет назад 0
@wim: да, я в правильной группе, которую я написал как "имя пользователя" endolith 12 лет назад 0
Группа "username" не указана в файле. Попробуйте добавить `endolith ALL = (ALL) ALL` прямо под` root ALL = (ALL: ALL) ALL` frabjous 12 лет назад 0

4 ответа на вопрос

15
Kadu

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

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

Defaults env_reset,!tty_tickets 
Есть ли у этого отрицательные последствия? endolith 12 лет назад 0
«Будьте осторожны, если вы предлагаете SSH-доступ удаленным пользователям, поскольку вы можете непреднамеренно разрешить им делиться повышенными привилегиями с вами, если вы отключите tty_tickets». от http://ask.debian.net/questions/how-to-have-sudo-powers-shared-between-different-bash-sessions endolith 12 лет назад 1
Я предлагаю SSH доступ удаленному пользователю, но только для себя, так что я предполагаю, что это не вызывает какой-либо уязвимости? endolith 12 лет назад 0
5
Broam

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

отличный момент, но немного более рискованный, чем запрос. mbb 12 лет назад 6
Учитывая, что это «способ Ubuntu» получить корневую оболочку, я решил, что это была аккуратная работа вокруг проблемы. Каждая команда все еще регистрируется. Broam 12 лет назад 0
Это не решает проблему, это просто способ игнорировать ее. Zoredache 12 лет назад 1
Это скорее обходной путь, чем решение, но это хорошо, и я не против, если оно автоматически даст вам половину вознаграждения. :) endolith 12 лет назад 0
1
Zoredache

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

Если бы я, где угадать, я бы поспорил, что что-то в вашем /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': нет такого файла или каталога` endolith 12 лет назад 0
Что ж, это плохой знак, почему бы не попробовать создать его и установить права доступа / права доступа, как указано выше. Zoredache 12 лет назад 0
Или вы можете просто переустановить пакет. Zoredache 12 лет назад 0
переустановил sudo с Synaptic, и он по-прежнему говорит, что endolith 12 лет назад 0
Я получаю то же самое на VirtualBox под управлением Ubuntu 10.10. в `/ var / run` нет папки` sudo`. В этой виртуальной машине он запоминает мой пароль, как и ожидалось, поэтому это не имеет значения. Единственное, что есть в visudo на этой виртуальной машине - это `значения по умолчанию env_reset`. В нем также говорится `% sudo ALL = (ALL) ALL` вместо`% sudo ALL = (ALL: ALL) ALL`. endolith 12 лет назад 0
0
Michał Šrajer

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

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