* 새로운 * WiFi 네트워크에 연결할 때 sudo 비밀번호 제거


12

따라서 현재 관리자가 아닌 사용자가 새로운 WiFi 네트워크에 연결하려고하면 (예 : 카페에서 말하면) NetworkManager는 관리자의 비밀번호를 묻습니다. 이 기능을 끄고 관리자가 아닌 사용자가 원하는 Wi-Fi 네트워크에 연결할 수있는 방법이 있습니까?

편집 : 명확히하기 위해, 나는 실제로 이전에 컴퓨터에 의해 연결되지 않은 새로운 WiFi 네트워크를 의미 하므로 기존에 설정된 연결에서 '모든 사용자에게 사용 가능'을 클릭해도 현재 관리자가 아닌 사용자에게는 문제가되지 않습니다. 홈 네트워크에 원하는만큼 여러 번 다시 연결합니다.



내가 사용했습니다 visudo(같은 몇 가지 작업을 수행 할 관리자가 아닌 사용자를 허용하기 전에 sudo apt-get upate예에 대한)하지만 나는 확실히 나는 새로운 와이파이 네트워크에 연결하기에 그들을 암호를 요구 받고있다 중지에 넣어야 할 것이 무엇 아니다
fpghost

하, 거기 도착했다 메모리에서 (약간 검색했지만 아직 찾지
못함

someUser ALL=(root)NOPASSWD:/path/to/somethingControllingWiFi그렇습니다. 이것이 실제로 갈 길이라면 내가 추정 하는 형식이어야합니다 .
fpghost

확실히 :) ..
Rinzwind

답변:


14

우분투 13.04에서 다음 솔루션으로 성공을 발견했습니다.

/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policyroot / sudo 권한으로 열고 다음 행을 검색하십시오.

<message>System policy prevents modification of network settings for all users</message>

그 아래 몇 줄은 다음과 같습니다.

<allow_active>auth_admin_keep</allow_active>

다음으로 변경하십시오.

<allow_active>yes</allow_active>

파일을 저장하고 컴퓨터를 다시 시작하십시오.


아래 @harlemsquirrel의 답변을 참조하십시오. 예를 들어 deb 패키지와 같은 권한을 포장하는 것이 훨씬 쉬워집니다. 또한 dpkg로 파일을 편집하기 때문에 위의 접근 방식은 업데이트 등에 의해 재설정되기 쉽습니다.
vidstige

1
확실한 조언이지만 sudo service network-manager restart를 통해 네트워크를 다시 시작해야합니다.
바이스

4

오류를 해결하는 방법 : 시스템 정책으로 모든 사용자의 네트워크 설정을 수정할 수 없음

위의 답변에서 누락 된 중요한 단계가 있으므로 여기에 포함시킵니다. :)

이것은 우분투 14.04 LTS 및 16.04 LTS에서 작동합니다

  1. 터미널 열기

  2. SU루트

    su -
    
  3. 다음을 입력 하십시오.

    nano /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  4. 파일 끝 부분에서 다음과 같이 레이블이 지정된 섹션을 찾으 십시오.

    <action id="org.freedesktop.NetworkManager.settings.modify.system">
    
  5. org.freedesktop.NetworkManager.settings.modify.system 섹션 의 맨 아래 에서 다음 코드 행을 찾으 십시오.

    <allow_active>auth_admin_keep</allow_active>
    
  6. 이 줄을 다음과 같이 변경하십시오 .

    <allow_active>yes</allow_active>
    
  7. 다음을 사용 하여 파일을 저장하십시오 .

    ^X
    
  8. 대답 "(없음 저장 응답 버퍼 수정" "변경 사항을 파괴를)?" 타이핑 :

    Y
    
  9. 다음 과 같은 프롬프트가 표시되면 Enter를 누르십시오 .

    File Name to Write: /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  10. 다시 시작하십시오 .

:)


3

이에 대한 로컬 정책을 만들 수도 있습니다

[사용자 동공이 네트워크의 시스템 설정을 수정하게 함]
신원 = 유닉스 사용자 : 학생
Action = org.freedesktop.NetworkManager.settings.modify.system
ResultAny = 아니오
ResultInactive = 아니오
ResultActive = 예

라는 파일에 /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla.

여기서 장점은 단일 명령 일 수 있으며 스크립트에서 사용할 수 있다는 것입니다!

printf "[사용자 동공이 네트워크의 시스템 설정을 수정하게하십시오] \ nIdentity = unix-user : pupil \ nAction = org.freedesktop.NetworkManager.settings.modify.system \ nResultAny = no \ nResultInactive = no \ nResultActive = yes"| sudo 티 /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla

참조 : Ubuntu 맨 페이지 : pklocalauthority


이것이 올바른 해결책입니다
vidstige

2

이것은 실제로 내가 기대했던 해결책이 아니지만 내가 찾은 한 가지 해결 방법은 NetworkManager모두 함께 사용하지 않고 대신 사용하는 것 Wicd입니다.

처음 NetworkManager시작할 때 실행이 중지 됩니다.

sudo gedit /etc/NetworkManager/NetworkManager.conf

그런 다음 # managed줄을 밖으로 . 또한 # #start on (local-filesystems and started dbus)에서 /etc/init/network-manager.conf. 그런 다음 두 번 확인하십시오.

sudo mv /etc/init/network-manager.conf /etc/init/network-manager.conf-disabled
sudo mv /etc/xdg/autostart/nm-applet.desktop /etc/xdg/autostart /nm-applet.desktop.disabled  

이제 사용할 수 있으며 Wicd암호 프롬프트가 필요하지 않습니다.


0

시스템 구성 파일을 편집 할 수는 있지만 무차별입니다. 엄지 손가락의 규칙에 따라 구성이 상주하는 등, 우선 /etc하지, /usr/var또는 다른 곳. HarlemSquirrel 은 기본 정책을 올바르게 변경 하는 방법을 설명했습니다 . /usr시스템 패키지에서 제공되는 파일은 최종적으로 업데이트 / 교체되므로 파일 편집 은 조만간 완료 될 것입니다.

그러나 더 큰 문제는 적어도 18.04 기준으로 이러한 변경이 완전히 필요 없다는 것입니다. 이것은 "잘못 잡고 있습니다"문제입니다. 사실, 그것은 NM 애플릿의 유용성 문제이지만 어쨌든. 살펴보십시오 /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy:

  <action id="org.freedesktop.NetworkManager.settings.modify.system">
    <description>Modify network connections for all users</description>
    <defaults>
      <allow_any>auth_admin_keep</allow_any>
      <allow_inactive>auth_admin_keep</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

사용자가 연결을 만들 수 없다는 것을 의미합니까? 잘못된! 더보세요 :

  <action id="org.freedesktop.NetworkManager.settings.modify.own">
    <description>Modify personal network connections</description>
    <defaults>
      <allow_any>auth_self_keep</allow_any>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

보다시피 NetworkManager는 사용자 및 시스템 연결 개념을 지원합니다. 문제는 애플릿이 기본적으로 시스템 연결을 작성한다는 것입니다. 따라서 트레이에서 애플릿을 열고 네트워크 선택을 클릭 한 다음 연결할 애플릿 을 선택하면 관리자에게만 시스템 연결 작성이 허용되므로 sudo 사용자를 요청합니다.

그러나 설정 앱 을 열고 Wi-Fi 로 이동 하여 원하는 네트워크를 클릭하면 관리자 암호없이 쉽게 연결할 수 있습니다. 공원에서 걸어보세요.

애플릿이 기본적으로 시스템 연결을 만들고자하는 이유는 저를 초월합니다. 특히 나중에 사용자를 시스템에 연결할 수 있기 때문입니다. 그것은의 다른 사용자가 사용할 수 있도록 연결 속성에서 옵션, 당신은 그것을 확인을 클릭하면 적용 이 예상대로 즉시, sudo는 암호를 요청합니다. 애플릿이 기본적으로 사용자 연결을 만들 수있는 방법을 찾으려고 노력합니다.이 답변을 이해하면 업데이트합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.