polkit 에이전트를 현재 로그인된 사용자로 기본 설정하는 방법이 있습니까?

polkit 에이전트를 현재 로그인된 사용자로 기본 설정하는 방법이 있습니까?

요청을 처리할 때 초기에 현재 사용자를 기본값으로 설정하거나 다른 polkit 에이전트 중 하나에 이 기능이 있는 경우 polkit-gnome-authentication-agent-1을 구성하는 방법을 아는 사람이 있습니까?


같은 에이전트를 사용하여 폴킷 작업을 수행하기 위해 인증할 때 그룹 polkit-gnome-authentication-agent-1에 여러 사용자가 있으므로 wheel인증할 사용자를 선택할 수 있는 드롭다운이 제공됩니다.

대부분의 경우 인증하려는 사용자가 현재 로그인한 사용자*인 경우 이는 짜증나는 추가 단계입니다. 내가 선호하는 동작은 현재 로그인한 사용자가 미리 선택되어 있고 바로 비밀번호 입력으로 이동하며, 원하는 경우 다른 사용자로 변경할 수 있는 옵션이 있다는 것입니다.

나는 폴킷 규칙을 통해 목록에 나타나는 사용자를 제한하는 것이 가능하다는 것을 알고 있지만 이러한 규칙에 대한 나의 순진한 이해는 그들이 누구인지 변경한다는 것입니다.허용된특정 작업을 인증하기 위해 이 동작은 대신 polkit GUI 에이전트의 영역에 있습니다. 아니면 내가 틀렸으며 기본 선택이 polkit 규칙을 통해 설정할 수 있는 것입니까?

반복하자면폴킷 작업을 수행하기 위해 인증할 수 있는 사용자/그룹을 변경하고 싶지 않지만 최소한의 키 누르기와 설치류 없이 UI를 조금 더 빠르게 이동할 수 있습니다.

* 이것이 대부분의 배포에서 가장 합리적인 동작일 수 있다는 점을 충분히 인정하지만 제게는 어색합니다.

답변1

이 문제를 해결한 방법은 다음 줄로 /etc/polkit-1/rules.d/명명 된 사용자 정의 파일을 추가하여 다음을 재정의하는 것입니다 .00-custom.rules50-default.rules

polkit.addAdminRule(function(action, subject) {
    if( subject.isInGroup("wheel") ) {
        return ["unix-user:"+subject.user];
    }
    else {
        return [polkit.Result.NO];
    }
});

이렇게 하면 현재 사용자가 wheel그룹에 있는 경우 비밀번호를 묻는 메시지가 표시되고, 그렇지 않으면 루트 비밀번호를 묻는 메시지가 표시됩니다.

관련 정보