Чому sudo запитує пароль у вікні після того, як я тільки перевірив автентифікацію в іншому?


10

Якщо я використовую командний рядок у xterm, gnome-terminal і т. Д., Я можу утримуватися sudoвід повторного запрошення пароля в певних межах або можу його відключити.

Як компроміс між зручністю використання та безпекою, я зазвичай просто хочу, щоб цей час запиту було продовжено.

За замовчуванням після введення пароля sudo існує лише 15-хвилинний пільговий період, перш ніж він знову запросить його. Щоб змінити це на 45 хвилин, я можу відредагувати /etc/sudoersта встановити timetamp_timeout на потрібний мені час (у хвилинах).

файл судорів

Якщо я перебуваю в рамках одного термінального сеансу і запускаю нову оболонку (набираючи cshабо bash), період очікування дотримується.

Але якщо я перейду до іншого вікна, щоб отримати доступ до командного рядка там, він негайно запитає мій пароль, якщо я спробую sudo.

У межах того ж псевдотермінального сеансу ( pts) (наприклад, якщо я породив нову оболонку всередині того ж вікна-терміналу gnome), час очікування буде дотримано.

Якщо я запускаю новий xterm, gnome-terminal і т. Д., Я повинен знову ввести облікові дані.

Незважаючи на те, що він є єдиним користувачем, який працює в моїй домашній системі (однокористувацька система) тощо, sudo не вірить, що всі мої ptsзаписи від одного користувача:

~/pseudoland$ w
 01:27:39 up 1 day, 15:03,  7 users,  load average: 0.32, 0.71, 0.77
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
jgb    tty1                      23:56    1:30m  0.55s  0.51s -bash
jgb    tty7     :0               Tue10   39:03m  2:28m  0.76s gnome-session
root     pts/1    :0.0             00:30   56:23   0.01s  0.01s /bin/bash
jgb    pts/3    :0.0             01:16    0.00s  0.59s  3.22s gnome-terminal
jgb    pts/4    :0.0             01:27   26.00s  0.23s  0.23s /bin/bash
jgb    pts/5    :0.0             01:17    9:26   0.23s  0.23s bash

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

Відповіді:


12

Пільговий період контролюється тим, що sudoназивається "квитком". Коли ви автентифікуєтесь на sudo, він створює цей квиток з певною часовою позначкою, яка в основному говорить про те, коли має закінчитися термін автентифікації.

За замовчуванням (це встановлено під час компіляції пакета), цей час очікується, як ви встановили, на кожний tty . Це особливість судо під назвою 'tty_tickets'. В основному це означає, що замість створення одного блокування на кожного користувача, sudo створює один замок на кожний tty.

Щоб повернутися до колишньої поведінки та змінити типовий режим, вам потрібно відредагувати /etc/sudoers. Знайдіть Defaultsрядок, який ви вже редагували, щоб змінити час очікування, і додайте ,!tty_ticketsйого. Це вимкне функцію tty_tickets і надасть вам потрібну поведінку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.