Git

Dozor: запрос пароля для администратора

Dozor это агент polkit с понятным окном. Когда программе нужны права администратора (команда sudo, установка пакета, смена настроек системы), система спрашивает пароль. Dozor показывает это окно и заодно объясняет, кто просит и что именно собирается сделать, чтобы вы не вводили пароль вслепую.

Что показывает окно#

  • какая программа просит права и из какого каталога она запущена;
  • что именно выполняется: команда sudo целиком или действие polkit;
  • кнопку перехода к окну приложения-источника, например к терминалу, из которого запустили sudo;
  • способ подтверждения: пароль, отпечаток пальца и другие, если они настроены.

Для sudo контекст (команда, процесс, каталог, терминал) приходит от небольшого хука PAM. Он нужен только для показа в окне: саму проверку пароля по-прежнему выполняет штатный механизм polkit, Dozor пароли не хранит и не сравнивает.

Окно Dozor

Как это работает#

ЧтоГде
Агент/usr/libexec/dozor/agent.py, написан на Python с GTK4 и libadwaita
Службапользовательская dozor.service, запускается вместе с графическим сеансом
Действие polkitru.toxblh.dozor.sudo
Контекст sudoфайл /run/user/<UID>/dozor.ctx, живёт недолго (старше 20 секунд считается устаревшим)

Если polkitd перезапустился, агент регистрируется заново сам.

Проверить, что он работает#

systemctl --user status dozor

Служба должна быть active (running). Для проверки выполните в терминале sudo true: появится окно Dozor с командой.

Ссылки#

Dozor написан toxblh и распространяется как отдельный открытый проект на ALT Linux Space.