Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Более полная информация о правилах и их составлении дана на странице polkit или доступна по команде "man 8 polkit".

Пример использования

...

метода addAdminRule

Файл /usr/share/polkit-1/rules.d/50-default.rules содержит правило, которым пользователи группы astra-admin назначаются администраторами системы:

Блок кода
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:astra-admin"];
});

Пример использования метода log

Прим. работает в Astra 1.8.3.7 Орёл, не работает в 1.8.3.7 Смоленск.

Использовать только для отладки!


Сделаем, чтобы при вызове команды pkexec в системный журнал выводилась дополнительная информация о действии и пользователе, запросившем это действие.

Для этого:

  1. Создать файл /etc/polkit-1/rules.d/00-default.rules с правилом:
    Блок кода
    polkit.addRule(function(action, subject) {
     if (action.id == "org.freedesktop.policykit.exec") {
        polkit.log("action=" + action);
        polkit.log("subject=" + subject);
     }
    });
    где org.freedesktop.policykit.exec – название действия, соответствующего команде pkexec.
  2. Разрешить службе polkitd выводить в системный журнал отладочные сообщения (DEBUG).
    Для этого в файле systemd-юнита /usr/lib/systemd/system/polkit.service убрать из параметра ExecStart флаг --no-debug:
    Блок кода
    [Unit]
    Description=Authorization Manager
    Documentation=man:polkit(8)
    
    [Service]
    Type=dbus
    BusName=org.freedesktop.PolicyKit1
    ExecStart=/usr/lib/polkit-1/polkitd  --min-ilev-auth-admin=max


  3. Вывести в терминале системный журнал:
    Command

    sudo journalctl -f -a

    sudo journalctl -b SYSLOG_FACILITY=10 -f

  4. В графической сессии пользователя в другом терминале запустить команду:
    Command

    pkexec -u administrator bash -i


  5. В выводе системного журнала появятся записи о действии "action=..." и пользователе "subject=...":
    Блок кода
    сен 22 12:20:16 astra-28739 polkitd[7867]: action=[Action id='org.freedesktop.policykit.exec' program='/usr/bin/bash' user.display='administrator' command_line='/usr/bin/bash -i' user='administrator' polkit.message='Authentication is needed to run `$(program)' as user $(user.display)' polkit.gettext_domain='polkit-1' user.gecos='']
    сен 22 12:20:16 astra-28739 polkitd[7867]: subject=[Subject pid=5894 user='administrator' groups=administrator,tty,dialout,cdrom,floppy,audio,dip,video,plugdev,users,netdev,lpadmin,scanner,astra-admin,astra-console seat=null session=null local=true active=true]




Журналирование

Каталоги и конфигурационные файлы

...