저는 Network Manager를 사용하여 공개적으로 액세스 가능한 키오스크 컴퓨터의 보안 무선 네트워크에 연결하고 있습니다.
문제는 사용자가 데스크탑에 접속하면 루트가 아닌 사용자도 nm-applet에 액세스할 수 있다는 것입니다. 따라서 사용자는 트레이 아이콘을 마우스 오른쪽 버튼으로 클릭하고 연결 설정을 편집하고 무선 네트워크의 자격 증명을 일반 텍스트로 볼 수 있습니다.
내가 원하는 것은 애플릿이 로그인 시(루트가 아닌 사용자로) 시작되어 인터넷에 연결되는 것입니다. 그러나 사용자가 트레이 아이콘을 클릭하면 루트 비밀번호를 묻는 메시지가 표시됩니다.
Network Manager를 사용한 지 꽤 되었지만 이전 RedHat 시스템에서는 트레이 아이콘을 클릭했을 때 비밀번호 프롬프트가 나타났던 것을 기억합니다. Centos 저장소에서 gksu 및 beesu 프로그램을 확인했지만 표시되지 않았습니다. 그러나 프로그램 관리를 클릭하면 비밀번호 프롬프트가 나타나기 때문에 동일한 작업을 수행하는 프로그램이 있습니다.
그렇다면 nm-applet 트레이 아이콘을 클릭할 때 어떻게 비밀번호 프롬프트를 강제로 표시할 수 있습니까?
이것이 가능하지 않다면 nm-applet을 시작하지 않고 네트워크 관리자가 무선 네트워크에 로그인하도록 할 수 있습니까?
고쳐 쓰다:
일부 설정을 잠그려면 polkit을 사용해 보십시오 /usr/share/polkit-1/actions/
. 창을 제외한 거의 모든 것이 Edit Connections
관련 NetworkManager 파일에 나열되어 있는 것 같습니다. 그래서 그 창에 링크된 DBus 메시지를 찾으면 됩니다. org.freedesktop.network-manager-settings.system.modify
들어갈 줄 알았는데
/usr/share/polkit-1/actions/org.freedesktop.network-manager-settings.system.policy
변화가 별 효과가 없는 것 같네요. 어떤 아이디어가 있나요?
해결 방법으로 앱 권한을 nm-connection-editor
700으로 변경했습니다. 따라서 일반 사용자는 저장된 연결을 직접 편집할 수 없습니다.
추가 업데이트
위의 해결 방법은 사용자가 아이콘을 마우스 오른쪽 버튼으로 클릭하여 네트워크 자격 증명에 액세스하는 것을 방지하지만 연결 시간이 초과되면 네트워크 자격 증명을 표시하는 창이 나타납니다.
따라서 아직 적절한 해결책이 없습니다.
솔루션 2
네트워크 관리자가 자격 증명을 표시하는 것을 막을 수 없기 때문입니다. 나는 그것을 완전히 포기하고 dhclient와 wpa_supplicant의 하이브리드로 전환했습니다. 무선 네트워크는 인증서 없이 PEAP를 사용하므로 wpa_supplicant.conf에 LEAP로 나열해야 합니다.
wpa_supplicant.conf
network={
ssid="mynetworkname"
scan_ssid=1
key_mgmt=WPA-EAP
eap=LEAP
identity="XXXX"
password="XXXXX"
}
wpa_supplicant를 구성한 후 다음을 수행합니다.
#bring interface down
ifconfig wlan0 down
#start wpa_supplicant
wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -Dwext -B
#associate network name with interface
iwconfig wlan0 essid "mynetworkname"
#bring interface back up
ifconfig wlan0 up
#request IP
dhclient -r
dhclient -timeout 1000 wlan0
답변1
내 설명이 더 wicd
관련성이 있지만(얼마 전에 반대 문제가 있었기 때문에), 빠른 검색을 통해 nm-applet
와 사이의 의사소통이 network-manager
동일한 원리에 기초하고 있음을 알 수 있었습니다. 따라서 아마도 이 경우에도 작동할 것입니다!
nm-applet
해당 데몬과 통신하여 dbus
. 둘 사이의 통신을 위해 dbus-config 디렉터리에 특정 구성이 있을 수 있습니다. Debian 관련 시스템에서 이러한 애플리케이션 관련 구성 파일은 /etc/dbus-1/system.d/
.
dbus-daemon
참여하는 프로세스 간의 연결을 제공 하려면 구성 파일을 조정해야 합니다 . 구성 파일은 애플리케이션 이름을 따서 명명되며 일반 xml입니다. 귀하의 사건에서 관심 있는 요소는 입니다 <policy>
. 이 섹션에서는 통신이 허용되는 사용자/그룹과 그렇지 않은 사용자/그룹을 조정할 수 있습니다. 쉽게 식별할 수 있다는 장점이 있으므로 xml
삭제하려는 항목을 빠르게 찾을 수 있을 것입니다.
확실히 더 나은 설명이 있지만 이제 해당 설명을 찾는 데 필요한 키워드가 있습니다.