Network Manager がデフォルトで「誰でも利用可能」のネットワーク接続プロファイルを自動作成しないようにする方法

Network Manager がデフォルトで「誰でも利用可能」のネットワーク接続プロファイルを自動作成しないようにする方法

職場には Ubuntu 11.10 64 ビットを使用するラップトップが数台あります。

私たちの Wi-Fi アクセス ポイントでは、WPA2-EAP 認証 (LDAP サーバーによるサポート) が必要です。

ゲスト アカウントを使用してプレゼンテーションを行うときに、スタッフにこれらのラップトップを使用してもらいます。

したがって、デフォルトでは、Wi-Fi カードがある場合、ネットワーク マネージャーは利用可能なワイヤレス アクセス ポイントを表示します。

したがって、Novice(tm) ユーザーの論理的な行動方針は、ネットワーク マネージャーのドロップダウン リストで使いやすいオプションを 1 回左クリックすることです...この時点で、スタッフ メンバー (ゲスト アカウントでログインしている) は、接続して、必要に応じて認証の詳細を入力できると想定しています。

しかし、ゲスト アカウントを使用しているため、管理者権限は付与されません (付与されることも望んでいません)。そのため、PolKit が起動して管理者の承認を要求します。

すべてのユーザーがシステム ネットワーク接続を作成できるようにするために必要な PolKit 権限を変更することで、この部分を解決しました...

ただし、これらのスタッフ メンバーは LDAP 資格情報を使用して Wi-Fi アクセス ポイントにログオンしており、ネットワーク マネージャーがそれらの資格情報をシステム接続として保存しているため、そのパスワードは次のゲスト ユーザー セッションで使用できます (システム接続プロファイルは /etc/NetworkManager/system-connections.d/* に保存されるため)。

新しい Wi-Fi アクセス ポイントにすばやく接続すると、「すべてのユーザーが利用可能」がデフォルトでチェックされるため、デフォルトでシステム接続が作成されます。

Network Manager で、デフォルトでこれにチェックを入れないようにします。こうすることで、Polkit に加えた変更を元に戻すことができます。また、ユーザーのネットワーク接続プロファイルは、ログアウト時に消去されます。

答え1

NetworkManager に Amnesia を与えるスクリプト:

#!/bin/sh
# /etc/NetworkManager/dispatcher.d/01-die-nm-die.sh
# must be chowned to root:root, chmod +x
#
INTERFACE=$1 # The interface which is brought up or down
STATUS=$2 # The new state of the interface

case "$STATUS" in
    'up') # $INTERFACE is up
    # maybe do something
    ;;
    'down') # $INTERFACE is down
    # Check for active interface and down if no one active
    find /etc/NetworkManager/system-connections.d/ ! -name 'conn-i-want-to-keep' -exec rm {} \;
    ;;
esac

関連情報