루트가 아닌 사용자로 실행되는 애플리케이션 중 하나에서 DBus를 사용하여 시스템 서비스를 시작하고 싶습니다 myuser
. 이렇게 하려면 polkit 0.105를 사용하여 PolicyKit을 설정하고 다음 .pkla 파일을 추가해야 합니다./etc/polkit-1/localauthority/50-local.d
Identity=unix-user:myuser
Action=org.freedesktop.systemd1.manage-unit-files;org.freedesktop.systemd1.manage-units
ResultActive=yes
ResultInactive=yes
그러나 이는 어떤 면에서는 도움이 되지 않습니다. 왜냐하면 시작 시 작동하는 방식으로 실행될 때 Permission denied
여전히 DBus에서 오류가 발생하기 때문입니다.myuser
root
지금까지 내가 polkit에 대해 이해한 것은 실제로 그것을 설정하는 방법입니다.
또한 나를 놀라게 하는 것은 실행 시 pkaction
아무것도 반환하지 않는다는 것입니다.
추가 설정이 필요 합니까 polkit
? 방금 apt-get
우분투 19.04 상자를 통해 설치했습니다.
답변1
org.freedesktop.systemd1.policy에서:
action id="org.freedesktop.systemd1.manage-units"
action id="org.freedesktop.systemd1.manage-unit-files"
줄을 바꿔서 해보세요
<allow_active>auth_admin_keep</allow_active>
통과:
<allow_active>yes</allow_active>