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


19

sudo в Ubuntu продовжує просити мене пароля для кожної команди. Раніше мені довелося ввести пароль лише один раз, і тоді це запам'ятається на певний проміжок часу. Це нещодавно змінилося, ймовірно, після "модернізації" до Натті.

Я зробив 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, і він почав страждати від тієї ж проблеми. Здогадуючись, я побіг баш, і спробував судо в цьому, і пароль запам'ятався правильно. Тільки тоді, коли я використовую мою рибу- шкаралупу за замовчуванням , вона не пам'ятає. Це було в попередньому випуску Ubuntu, але вже не.

Оновлення:

Я модернізував до 13.05, і це чарівно почало працювати знову. Тепер він запитує мій пароль один раз, перестає запитувати на деякий час, а потім знову запитує через певний проміжок часу.


можливий дублікат: superuser.com/questions/148665/…
warren

3
@warren: Це не дублікат. Мені потрібно вимагати ввести пароль, але після того, як я ввів його один раз, мені це не потрібно протягом певного часу. У минулому я змінив цю кількість часу з візуалом, але він більше не працює.
ендоліт

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

@Stephanie, я впевнений, що наявність одного оператора Defaults зі значеннями, розділеними комами, працює добре.
Zoredache

я бачу, ви додали рядок типу Defaults:endolith timestamp_timeout=60, але ви не входите до групи, яка називається ендоліт, згідно з іншим коментарем. так яке саме ім’я користувача ви використовуєте? Перевірте з 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
чудовий момент, але трохи ризикованіше, ніж прохання.
mbb

Зважаючи на те, що це "спосіб Ubuntu" для отримання кореневої оболонки, я подумав, що це акуратне вирішення проблеми. Кожна команда все ще реєструється.
Брам

1
Це насправді не вирішує проблему, але це лише спосіб її ігнорувати.
Zoredache

Це швидше рішення, а не рішення, але це добре, і я не заперечую, якщо він автоматично дає вам половину винагороди. :)
endolith

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

Або ви могли просто перевстановити пакет.
Зоредаче

перевстановлено судо із синаптичними, і досі йдеться про те
ендоліт

Я отримую те ж саме на VirtualBox під управлінням Ubuntu 10.10. в sudoпапці немає /var/run. У цій віртуальній машині він запам'ятовує мій пароль, як очікувалося, тому це не здається актуальним. Єдине, що є візуальним на цій віртуальній машині 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.