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
警告:この回答は、ほぼすべてのPolkitセキュリティ保護を無効にします。
次のことを試してください:/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-pkla
pklocalauthorityがDebianで動作するようにするには、パッケージをインストールする必要があります。
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