저는 pi-gen을 사용하여 Rasberry Pi용 사용자 정의 운영 체제를 만들고 있습니다.
기본 네트워크 인터페이스(eth0 및 wlan0)에 대한 연결/재연결을 관리하기 위해 NetworkManager를 설치하기로 결정했습니다.
다음과 같이 /etc/NetworkManager/system-connections에 2개의 구성 파일을 만들었습니다.
/etc/NetworkManager/system-connections/wifi:
[connection]
id=wifi
uuid=319f2d8e-3ce7-4e47-b6eb-fabb0aa69f68
type=wifi
[wifi]
mode=infrastructure
ssid=Facco
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=facco2016
[ipv6]
method=disabled
[ipv4]
method=auto
/etc/NetworkManager/system-connections/ethernet:
[connection]
id=ethernet
uuid=60d17e82-1be7-3d0f-b924-e980be41fcba
type=ethernet
[ipv6]
method=disabled
[ipv4]
method=auto
두 파일 모두 완벽하게 실행됩니다.
그런 다음 2개의 구성 파일을 OS 저장소에 추가하고 OS 이미지를 생성했습니다.
이제 OS를 부팅하면 Network Manager가 제대로 표시되지만 nmtui/nmtui-edit에서는 /etc/NetworkManager/system-connections에 복사하여 붙여넣은 2개의 파일이 전혀 표시되지 않습니다.
nmtui가 시스템 연결 폴더를 조사하여 거기에 붙여넣은 파일을 찾아야 하지 않나요?
내가 놓친 것이 있나요?
답변1
NetworkManager 클라이언트(예: nmtui)는 이러한 파일을 직접 볼 수 없습니다. 일반적으로 루트로 실행되지 않으며 읽기/수정 권한이 없습니다. 대신 NetworkManager의 D-Bus API를 사용합니다.
편집기에서 연결 프로필을 생성하거나 사전 배포할 수 있습니다. 즉, D-Bus API를 사용하는 대신 파일을 직접 구성하는 것은 매우 잘 지원되며 수행하려는 작업은 괜찮습니다.
키 파일 파일(그 안에 포함된 연결 프로필 /etc/NetworkManager/system-connections
)은 루트가 소유하고 권한이 있어야 합니다 0600
. 및를 사용하여 파일 소유자 및 권한을 확인 ls -l
하고 수정하세요.chown
chmod
NetworkManager가 이러한 파일에 액세스할 수 없을 가능성은 적습니다. 예를 들어. 우리는 SELinux 태그를 사용합니다.
그럼에도 불구하고 NetworkManager의 로그 파일을 보면 해당 파일이 로드되지 않는 이유를 알 수 있습니다. 시스템 로그/로그를 확인하세요.
예를 들어 CentOS 7에서는 다음 로그 파일을 볼 수 있습니다.
tail -f /var/log/messages
다음과 같은 메시지를 가로채려면:
... keyfile: error loading connection from file /etc/NetworkManager/system-connections/example.conf: File permissions (100644) are insecure
답변2
귀하에게 직접 답변을 제공하는 것이 아니라 인터넷에서 검색하는 나머지 사람들을 위한 것입니다 network manager manually configured system-connections file
.
/etc/NetworkManager/system-connections/eno2.nmconnection
올바른 스키마 0600
및 소유자 정의를 사용한 후에 root:root
는 NetworkManager를 다시 시작하여 업데이트된 변경 사항을 적용해야 합니다. 활성화할 수도 있습니다.
sudo systemctl restart NetworkManager.service
sudo nmcli up eno2