Чи можна ввести пароль для sudo лише один раз і налаштувати його так, щоб він не вимагав пароля на інших терміналах?


33

Я вводжу свою першу sudoкоманду. Я вводжу свій пароль. Якийсь час мені не доведеться вводити свій пароль для подальших команд sudo.

Тепер питання. Я хтось, хто відкриває багато терміналів. Було б дуже зручно, якщо мені не доведеться вводити паролі, коли я використовую sudoв терміналах, які я відкриваю після мого першого sudo, на короткий час, коли мені не доведеться вводити пароль для sudo в терміналі, з якого я використовував sudo для вперше. (Вибачте за довге речення!)

Це можливо? Якщо ні, то чому? Якщо так, то як?


4
Чи вважали ви, що тим самим ви відкриваєте отвір для захисту, який цей механізм існує, щоб закрити? Причиною того, що вам доведеться вводити свій пароль із судо, є захист від обставин, коли зловмисник якось отримав доступ до сеансу входу на ваше ім’я. Якщо ви відключите це, і комусь вдасться викрасти один із термінальних сеансів (чи всі вони на одній консолі?) Або яким-небудь іншим чином отримає доступ до сеансу входу на ваше ім’я, не знаючи вашого пароля, він зможе запустити будь-який команда як корінь. Не дуже вірогідний сценарій, але щось, що ви повинні врахувати.
Pepijn Schmitz

Відповіді:


52

Звичайно, це так. Запустіть sudo visudoі додайте цей рядок у sudoersфайл:

Defaults        !tty_tickets

Як пояснено в man sudoers:

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

Встановлюючи параметр " tty_ticketsВимкнено" (саме це !означає), ви дозволяєте спільно використовувати одну автентифікацію кількома сеансами.


1
Єдине, що я роблю по-іншому, коли консультую користувачів, натомість використовувати файл sudoers.d. Таким чином, якщо їх якимось чином можна легко відновити, просто видаліть цей файл. Вих. sudo visudo -f /etc/sudoers.d/01_file
дог

Що відбувається, коли закінчиться тайм-аут судо? чи запустити щось на кшталт sudo -k?
Maythux

@Maythux вам потрібно ввести його ще раз. Це просто робить єдину роботу з ідентифікації для всіх сеансів оболонки. Більш нічого.
тердон

@ user3073656 ах, круто, це має більше сенсу :). Так, будь ласка, я видалю свою.
тердон

Слід зазначити, що якщо я використовую цей метод, термін дії пароля закінчується лише за час очікування 15 хвилин, навіть якщо я перезавантажую, що викликає занепокоєння щодо безпеки. То, може, додати sudo -kдо /etc/rc6.d?
daltonfury42
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.