시스템 정책으로 인해 네트워크 연결 제어가 차단됩니다.

시스템 정책으로 인해 네트워크 연결 제어가 차단됩니다.

X2Go 클라이언트를 사용하여 KDE 세션에 로그인하면 사용자에게 sudo 비밀번호를 묻는 대화 상자가 표시됩니다. 사용자가 sudo 비밀번호를 갖는 것을 원하지 않으며 이 대화 상자가 나타나지 않도록 하고 싶습니다. 사용자는 이에 대해 신경쓰지 말아야 합니다.

대화 상자 제목은 다음과 같습니다.Authentication Required PolicyKit1 KDE Agent

메시지는 다음과 같습니다.

**System policy prevents control of network connections**  
An application is attempting to perform an action that requires privileges. Authentication is required to perform this action.  
Password:

Action: Allow control of network connections  
ID: org.freedesktop.NetworkManager.network-control  
Vendor: NetworkManager  
polkit.subject-pid: 20440  
polkit.caller-pid: 708  

- process 708 is /usr/bin/NetworkManager --no-daemon
- process 20440 is kded5 [kdeinit5]

pkaction version 0.116  (that's the policykit version)

인증을 요청/요구해서는 안 되도록 관련 정책이 정의되어 있습니다.

<action id="org.freedesktop.NetworkManager.network-control">
<_description>Allow control of network connections</_description>
<_message>System policy prevents control of network connections</_message>
<defaults>
  <allow_inactive>yes</allow_inactive>
  <allow_active>yes</allow_active>
</defaults>
</action>

관련 로그 줄은 다음과 같습니다.

Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: "Password: "
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Request:  "Password: "
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: REQUEST
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Trying again

Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Action description has been found
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Message of action:  "System policy prevents control of network connections"
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Initiating authentication
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: polkit_qt_listener_initiate_authentication callback for  0x55df1e7190a0
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: GSimpleAsyncResult: 
Aug 07 21:50:54 desktop polkit-kde-authentication-agent-1[26611]: Listener adapter polkit_qt_listener_initiate_authentication

Aug 07 21:50:43 desktop polkit-kde-authentication-agent-1[26611]: Authentication agent result: true
Aug 07 21:50:43 desktop polkitd[838]: Registered Authentication Agent for unix-session:19 (system bus name :1.5274 [/usr/lib/polkit-kde-authentication-agent-1], object path /org/kde/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Aug 07 21:50:43 desktop polkit-kde-authentication-agent-1[26611]: Listener online
Aug 07 21:50:43 desktop polkit-kde-authentication-agent-1[26611]: Adding new listener  PolkitQt1::Agent::Listener
Aug 07 21:50:43 desktop polkit-kde-authentication-agent-1[26611]: New PolkitAgentListener

Aug 07 21:50:42 desktop ksmserver[26587]: org.kde.kf5.ksmserver: Starting autostart service  "/etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop" ("/usr/lib/polkit-kde-authentication-agent-1")

지금까지 나는 다음과 같은 폴킷 규칙을 만들어 보았습니다.

/etc/polkit-1/rules.d/00-networkmanager.rules

polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.NetworkManager.settings.modify.system")
{
        polkit.log("NetworkManager.settings.modify.system: rule called");
    return polkit.Result.YES;
}
});

polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.NetworkManager.network-control")
{
        polkit.log("NetworkManager.network-control: rule called");
    return polkit.Result.YES;
}
});

이 규칙은 루트가 소유하며644화권한.

답변1

(pkla지방정부를 위한 정책 툴킷) 문서:

$ sudo ls -la /etc/polkit-1/localauthority/50-local.d
total 16
drwxr-xr-x 2 root root 4096 Dec 28 20:08 .
drwx------ 7 root root 4096 Aug  1  2017 ..
-rw-r--r-- 1 root root  573 Dec 27 01:16 45-allow-colord.pkla
-rw-r--r-- 1 root root  206 Dec 28 20:08 50-allow-network-manager.pkla

$ sudo cat /etc/polkit-1/localauthority/50-local.d/50-allow-network-manager.pkla
[Network Manager all Users]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.network-control
ResultAny=no
ResultInactive=no
ResultActive=yes

답변2

경고: 이 답변은 거의 모든 폴킷 보안 보호를 비활성화합니다.

다음을 시도해 보십시오: /etc/polkit-1/localauthority/50-local.d 폴더에 다음 내용으로 universal.pkla라는 파일을 생성하십시오.

    [Allow access to anything for remote users]
    Identity=unix-user:*
    Action=*
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes

그런 다음 "sudo systemctl restart polkit.service"를 사용하여 polkit을 다시 시작하거나 재부팅하십시오. 그 이후로 폴킷 인증 메시지를 본 적이 없습니다.

답변3

저는 debian 12(KDE)와 xrdp/vnc를 사용하고 있는데 오늘도 같은 문제가 발생했습니다.

이것은 오래된 질문이지만 어떤 답변도 나에게 도움이 되지 않았습니다.

실제로 pkla파일 방법을 사용하여 색상 관리자 문제를 해결한 적이 있습니다. 하지만 이번에는 왜 나에게 효과가 없었는지 모르겠습니다.

읽은 후 이 문제를 해결한 방법은 다음과 같습니다 man polkit.

파일을 사용하는 대신 pkla사용자가 "sudo" 그룹에 있을 때 "org.freedesktop.NetworkManager.network-control" 작업을 허용하는 규칙 파일을 만들었습니다.

아래에서 이 구성을 만드세요.

/etc/polkit-1/rules.d/50-allow-network-manager.rules
---
polkit.addRule(function(action, subject) {
   if (action.id == "org.freedesktop.NetworkManager.network-control" &&
       subject.isInGroup("sudo")) {
       return polkit.Result.YES;
   }
});

그런 다음 시스템을 다시 시작하십시오.


2023년 12월 26일에 업데이트되었습니다.

polkitd-pklapklocalauthority가 데비안에서 작동하도록 하려면 패키지를 설치해야 합니다 :

sudo apt install polkitd-pkla

따라서 이 pkla는 동일한 작업을 수행합니다.

[Allow Network Manager]
Identity=unix-group:sudo;
Action=org.freedesktop.NetworkManager.network-control
ResultAny=no
ResultInactive=no
ResultActive=yes

관련 정보