Як судо пам’ятає, що ви вже ввели пароль root?


27

Використовуючи sudo в Linux, він запитує корінний пароль, але лише коли ви запускаєте його. Якщо ви запустите іншу команду sudo, вона пам’ятає, що ви вже ввели пароль і не вимагає цього:

thomas@ubuntu:~$ sudo id
[sudo] password for thomas: ******
uid=0(root) gid=0(root) groups=0(root)
thomas@ubuntu:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)

Як це робить судо? Де зберігається ця інформація? Моя ідея полягає в тому, що він запам'ятовує ідентифікатор терміналу (як pts / 1), але де це зберігається? Перший процес судо закінчується, коли це робиться командою, правда?

Я знаю, що sudo - це налаштована програма, тому вона постійно має привілеї root, але я все ще не можу придумати гарного місця для зберігання інформації про те, що користувач уже ввів пароль. Чи задіяний якийсь процес демона?


1
Тут досить хороший огляд того, як працює sudo: aplawrence.com/Basics/sudo.html У ньому детально описано поведінку sudo з запам'ятовуванням паролів (наприклад, час очікування за замовчуванням становить 5 хвилин), хоча він не висвітлює специфіку того, як sudo запам'ятовує пароль . Ще цікаво, хоча.

12
Тільки маленька поправка, Судо просить у вас ваш пароль, а НЕ пароль суперкористувача

Відповіді:


16

Де зберігається ця інформація?

Це, мабуть, під /var/db/sudoабо, /var/run/sudoі ви, ймовірно, знайдете каталоги імен користувачів з файлами під ними, упорядкованими за номером tty.

Фактичні надані привілеї, включаючи тривалість сеансів, перш ніж вам доведеться знову вводити свій пароль, залежить від того, як налаштовані sudoers. Існують налаштування для надання / обмеження безлічі різних речей, але вони не зберігаються у цих файлах, які зберігають лише часові позначки. Скільки триває сеанс або коли sudo потрібно знову запросити ваш пароль, визначається дельтою поточного часу та часовою міткою сеансу в цьому каталозі та тим, як довго налаштовано sudo, щоб сеанс тривав.


2
Щодо тривалості, від документів ubuntu : "Під час використання sudo ваш пароль зберігається за замовчуванням протягом 15 хвилин."

11

Спробуйте man sudoперегляньте розділ ФАЙЛИ:

/ var / lib / sudo Каталог, що містить позначки часу

І в SECURITY NOTES

sudo перевірить право власності на свою директорію часових позначок (/ var / lib / sudo за замовчуванням) [...]

(довідкові сторінки від Debian 6.0.4)

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