사용자가 시스템 서비스를 다시 시작할 수 있도록 허용하는 Polkit 규칙

사용자가 시스템 서비스를 다시 시작할 수 있도록 허용하는 Polkit 규칙

/etc/polkit-1/rules.d/00-manage-docker-daemon.rules"agroup" 구성원이 docker.service(Centos 7)를 관리(중지/시작/재시작)할 수 있도록 다음 규칙을 사용하여 파일을 만들었습니다 .

// Allow agroup members to manage docker.service;
// fall back to implicit authorization otherwise.
polkit.addRule(function(action, subject) {
  if (action.id == "org.freedesktop.systemd1.manage-units" &&
    action.lookup("unit") == "docker.service") &&
    subject.isInGroup("agroup"))
    {
      return polkit.Result.YES;
    }
});

"polkit" systemd 서비스를 다시 시작했는데(필요한지 확실하지 않음) 불행히도 "agroup"의 사용자 구성원은 명령을 실행할 수 없습니다. 루트 비밀번호를 묻는 메시지가 표시됩니다.

$ id
uid=17870(user) gid=17870(user) groups=17870(user),17897(agroup) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$ systemctl restart docker.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:

이런 일들을 어떻게 작동시키나요? 내 구성에 누락된 것이 있습니까?

관련 정보