我们工作的地方有几台笔记本电脑使用 Ubuntu 11.10 64 位。
我的 Wifi 接入点需要 WPA2-EAP 身份验证(由 LDAP 服务器支持)。
我让员工通过使用访客帐户来使用这些笔记本电脑进行演示。
因此,当您有 wifi 卡时,网络管理器默认会显示可用的无线接入点。
因此,对于新手 (tm) 用户来说,合理的操作方法是单击网络管理器下拉列表中易于使用的选项...此时,工作人员(以访客帐户登录)只需要连接并输入任何身份验证详细信息(如果需要)。
但是因为他们使用的是来宾帐户,所以他们永远不会拥有管理员权限(我也不希望他们拥有),所以 PolKit 会发出管理员授权请求。
我通过修改允许所有用户创建系统网络连接所需的 PolKit 权限解决了这一部分问题...
但是,由于这些工作人员使用 Ldap 凭据登录到 Wifi 接入点,并且网络管理器现在将这些凭据保存为系统连接,因此他们的密码可用于下一个访客用户会话(因为系统连接配置文件存储在 /etc/NetworkManager/system-connections.d/* 中)。
它默认创建系统连接,因为当你快速连接到新的wifi接入点时,“对所有用户可用”是默认勾选的。
我希望网络管理器默认不勾选此项。这样我就可以恢复对 Polkit 所做的更改,并且用户注销时网络连接配置文件将被清除。
答案1
使 NetworkManager 失忆的脚本:
#!/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