仮想マシン(Debian Buster OS)の設定を自動化していますが、
システムのインストール後に設定プロセス中に自動化ツールが起動します。何よりも(順番に):
- インストールする
NetworkManager
- ユーザーXを追加、
sudo
グループにユーザーを追加する - 次のコマンドを使用して、ユーザーXの接続を取得します。
nmcli
最後のステップは失敗します。Error: Failed to add 'REDACTED' connection: Insufficient privileges.
ただし、VMにログインして(rootまたはユーザーXとして)接続を手動で追加すると機能します(sudo
ユーザー
私が見つけることができる唯一の関連ログは次のとおりです。
> journalctl -xe -u NetworkManager
...
audit: op="connection-add" ... result="fail" reason="Insufficient privileges"
いいえpolkit
またはログdbus
オートメーションツールにいくつかのロギングを追加しました。つまり、nmcli general permissions
接続をインポートする前にダンプします。
PERMISSION VALUE
org.freedesktop.NetworkManager.enable-disable-network no
org.freedesktop.NetworkManager.enable-disable-wifi no
org.freedesktop.NetworkManager.enable-disable-wwan no
org.freedesktop.NetworkManager.enable-disable-wimax no
org.freedesktop.NetworkManager.sleep-wake no
org.freedesktop.NetworkManager.network-control auth
org.freedesktop.NetworkManager.wifi.share.protected no
org.freedesktop.NetworkManager.wifi.share.open no
org.freedesktop.NetworkManager.settings.modify.system no
org.freedesktop.NetworkManager.settings.modify.own auth
org.freedesktop.NetworkManager.settings.modify.hostname auth
org.freedesktop.NetworkManager.settings.modify.global-dns auth
org.freedesktop.NetworkManager.reload auth
org.freedesktop.NetworkManager.checkpoint-rollback auth
org.freedesktop.NetworkManager.enable-disable-statistics no
org.freedesktop.NetworkManager.enable-disable-connectivity-check no
これは、ユーザーが何も実行できないことを明確に示しています。
しかし、ログインするとき:
PERMISSION VALUE
org.freedesktop.NetworkManager.enable-disable-network yes
org.freedesktop.NetworkManager.enable-disable-wifi yes
org.freedesktop.NetworkManager.enable-disable-wwan yes
org.freedesktop.NetworkManager.enable-disable-wimax yes
org.freedesktop.NetworkManager.sleep-wake no
org.freedesktop.NetworkManager.network-control yes
org.freedesktop.NetworkManager.wifi.share.protected yes
org.freedesktop.NetworkManager.wifi.share.open yes
org.freedesktop.NetworkManager.settings.modify.system yes
org.freedesktop.NetworkManager.settings.modify.own yes
org.freedesktop.NetworkManager.settings.modify.hostname auth
org.freedesktop.NetworkManager.settings.modify.global-dns auth
org.freedesktop.NetworkManager.reload auth
org.freedesktop.NetworkManager.checkpoint-rollback auth
org.freedesktop.NetworkManager.enable-disable-statistics yes
org.freedesktop.NetworkManager.enable-disable-connectivity-check yes
私はこれを手動で仮想マシンから複製しようとしました。
apt update && apt install -y network-manager network-manager-openvpn && useradd userx && usermod -a -G sudo userx && su - userx -c "nmcli connection import type openvpn file ...."
運がなかった。ただ働く...
オートメーションを設定するために使用したツール:salt
(SaltStack)
ユーザーを追加する:ユーザー。現在状態。
私はこれが塩の問題だと思います
ここに問題が何であるかを見つけるのに役立つ人はいますか?
ベストアンサー1
SSHを介してリモートでログインすると、Policykitは要求プロセスを異なる方法で処理できます。
NetworkManagerのPolicyKit権限のデフォルト設定は、コンピュータの前に座っている間でもケーブルを操作できるため、この方法で設定されます。したがって、ルート以外のローカルユーザーは、ルート以外のリモートユーザーよりも信頼されます。
(しかし、rootユーザーはPolicyKitを要求しなくても常に無料パスを受け取ることができます。)
デフォルトでは、特権を持つユーザーを使用するか、それに応じてPolicyKitを構成します。
バラよりhttps://wiki.archlinux.org/index.php/Polkit。権限を表示します<allow_inactive>
。 PolicyKitを最もよく設定する方法に慣れていません。一部のディストリビューションではJavaScriptフラグメントを作成し、Debianでは他のものを作成する必要があります。