web-dev-qa-db-ja.com

*新しい* WiFiネットワークに接続するときにSudoパスワードを削除する

そのため、現在、管理者以外のユーザーが新しいWiFiネットワーク(カフェなど)に接続しようとすると、NetworkManagerは管理者ユーザーのパスワードの入力を求めます。これをオフにして、非管理者ユーザーが好きなWifiネットワークに接続できるようにする方法はありますか?

編集:ちょうど明確にするために、私は本当に新しいコンピューターによって以前に接続されたことのないWiFiネットワークを意味するので、既存の接続で「すべてのユーザーが利用可能」をクリックしても問題は解決しません非管理者ユーザーがホームネットワークに何度でも再接続する問題。

12
fpghost

Ubuntu 13.04で次のソリューションで成功しました。

Root/Sudo特権で/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policyを開き、次の行を検索します。

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

その下の数行は次のようになります。

<allow_active>auth_admin_keep</allow_active>

次のように変更します。

<allow_active>yes</allow_active>

ファイルを保存し、コンピューターを再起動します。

14
Kyle Spencer

エラーの解決方法:システムポリシーは、すべてのユーザーのネットワーク設定の変更を禁止します

上記の答えには重要なステップがないため、ここに含めます。 :)

これはUbuntu 14.04 LTSおよび16.04 LTSで動作します

  1. 開く端末

  2. s toroot

    su -
    
  3. タイプ以下:

    nano /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  4. ファイルの終わりに向かって、findというラベルのセクション:

    <action id="org.freedesktop.NetworkManager.settings.modify.system">
    
  5. org.freedesktop.NetworkManager.settings.modify.systemセクションの下部、locate次のコード行:

    <allow_active>auth_admin_keep</allow_active>
    
  6. 変更この行は次のように読み取ります。

    <allow_active>yes</allow_active>
    
  7. 保存使用するファイル:

    ^X
    
  8. 応答 "変更されたバッファを保存(「いいえ」は変更を破棄します)?"by Typing

    Y
    
  9. Hit Enterプロンプトが表示されたら:

    File Name to Write: /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  10. 再起動

:)

4
bu11etpr00f

このためのローカルポリシーを作成することもできます

 [ユーザーの生徒にネットワークのシステム設定を変更させます] 
 Identity = unix-user:pupil 
 Action = org.freedesktop.NetworkManager.settings.modify.system 
 ResultAny = no 
 ResultInactive = no 
 ResultActive = yes 

/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 =はい」|須藤ティー/etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla

リファレンス: buntu Manpage:pklocalauthority

3
HarlemSquirrel

これは私が望んでいた修正方法ではありませんが、NetworkManagerを一緒に無効にして、代わりにWicdを使用するだけです。

最初にNetworkManagerの起動時に実行を停止します。

Sudo gedit /etc/NetworkManager/NetworkManager.conf

managed行を削除します。 /etc/init/network-manager.confから#start on (local-filesystems and started dbus)も#アウト。それからちょうど念のために

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を使用できるようになり、パスワードプロンプトが不要になりました。

2
fpghost

システム構成ファイルを編集できますが、それは総当たりです。まず第一に、設定は/etcまたは/usrまたはその他の場所ではなく、/varの下にあります。 HarlemSquirrelは、デフォルトポリシーにproperを変更する方法を説明しました。 /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はユーザー接続とシステム接続の概念をサポートしています。問題は、アプレットがデフォルトでシステム接続を作成することです。したがって、トレイでアプレットを開いてSelect Networkをクリックし、接続するものを選択すると、システム接続の作成は管理者のみに許可されるため、Sudoユーザーを要求します。

ただし、設定アプリを開いてWi-Fiに移動し、目的のネットワークをクリックすると、管理者パスワードなしで簡単に接続できます。公園で散歩する。

アプレットがシステム接続を作成する理由デフォルトは、特にユーザー接続をいつでもシステムに接続できるため、私を超えています。接続プロパティの下の他のユーザーが利用できるようにするオプションであり、それをチェックして適用をクリックすると、すぐにSudoパスワードが要求されます。アプレットがデフォルトでユーザー接続を作成する方法を見つけようとします。それがわかったら、この回答を更新します。

0
bviktor