가상 머신(Debian Buster OS)의 구성을 자동화하고 있는데
시스템 설치 후 구성 프로세스 중에 자동화 도구가 시작됩니다. 무엇보다도 (순서대로):
- 설치하다
NetworkManager
- 사용자 X 추가,
sudo
그룹 에 사용자 추가 - 다음 명령을 사용하여 사용자 X의 연결을 가져옵니다.
nmcli
마지막 단계는 실패합니다. Error: Failed to add 'REDACTED' connection: Insufficient privileges.
그러나 VM에 로그인하고(루트 또는 사용자 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 권한에 대한 기본 구성은 컴퓨터 앞에 앉아 있는 동안에도 케이블을 조작할 수 있기 때문에 이런 방식으로 설정됩니다. 따라서 루트가 아닌 로컬 사용자는 루트가 아닌 원격 사용자보다 더 신뢰됩니다.
(그런데 루트 사용자는 PolicyKit을 요청하지 않고도 항상 무료 패스를 받을 수 있습니다.)
기본적으로 권한이 있는 사용자를 사용하거나 그에 따라 PolicyKit을 구성하십시오.
바라보다https://wiki.archlinux.org/index.php/Polkit. 권한을 봅니다 <allow_inactive>
. PolicyKit을 가장 잘 구성하는 방법에 익숙하지 않습니다. 일부 배포판에서는 JavaScript 조각을 작성해야 하고, Debian에서는 다른 것을 작성해야 합니다...