職場には 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