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

Как это работает#
| Что | Где |
|---|---|
| Агент | /usr/libexec/dozor/agent.py, написан на Python с GTK4 и libadwaita |
| Служба | пользовательская dozor.service, запускается вместе с графическим сеансом |
| Действие polkit | ru.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.