실행 중인 프로세스를 확인하지 않고 polkit 에이전트의 작동을 확인하는 방법이 있습니까?

실행 중인 프로세스를 확인하지 않고 polkit 에이전트의 작동을 확인하는 방법이 있습니까?

데스크톱 환경에 구애받지 않는 방식으로 폴킷 에이전트를 사용할 수 있는지 확인해야 합니다.

지금 내가 하고 있는 일은 다음과 같은 코드를 사용하여 polkit 에이전트가 실행 중인지 확인하는 것입니다.

ps aux | grep some-polkit-agent

다음과 some-polkit-agent같을 수 있습니다:

  • polkit-gnome-authentication-agent-1(gnome2 및 gnome3-fallback에 적용)
  • polkit-kde-authentication-agent-1(kde의 경우)
  • polkit-mate-authentication-agent-1(파트너용)
  • lxpolkit(LXDE의 경우)

"대체 없음" gnome3(gnome-shell)에는 gnome-shell 프로세스 자체에 자체 폴킷 에이전트가 있으므로 ps-grep을 수행할 수 없습니다. 내 가정은 gnome-shell실행 중이면 polkit 에이전트가 제자리에 있다는 것입니다.

시스템에 문제가 있을 때 문제가 발생합니다 hidepid(참조:http://www.linux-dev.org/2012/09/hide-process-information-for-other-users/). 이 보안 조치는 ps폴킷 프록시가 있는 경우에도 실행 중인 프록시가 나에게 표시되는 것을 방지합니다.

사용 가능한 폴킷 프록시를 확인하는 더 좋은 방법이 있습니까?

답변1

"사용 가능한 폴킷 프록시가 있는지 확인해야 합니다."

아마도 특정 프로세스(프로세스 pid) 또는 pid(시스템 버스 이름)를 볼 수 없기 때문에 이를 사용할 수 있기를 원하십니까?

이 경우 pkcheck 매뉴얼 페이지에 나와 있는 것처럼 특정 프로세스에 대해 "pkcheck"를 사용하고 해당 프로세스의 반환 값을 확인할 수 있습니다.

   If the specificied process is not authorized because **no suitable**
   **authentication agent is available** or if the --allow-user-interaction
   wasn't passed, pkcheck exits with a return value of 2 and a diagnostic
   message is printed on standard error. Details are printed on standard
   output.

답변2

에이전트는 dbus를 통해 polkit 기관에 등록됩니다. dbus 트래픽을 가로챌 수 있다면 어떤 프록시가 등록되어 있는지 정확히 알 수 있습니다.

답변3

기반으로이 포럼 게시물, 이 패키지를 설치해야 합니다 policykit-desktop-privileges.

관련 정보