У нас есть несколько ноутбуков, которые используют Ubuntu 11.10 64bit.
У меня есть точка доступа Wi-Fi, для которой требуется аутентификация WPA2-EAP (при поддержке сервера LDAP).
У меня есть сотрудники, использующие эти ноутбуки при проведении презентаций с использованием гостевой учетной записи.
Поэтому по умолчанию, когда у вас есть карта Wi-Fi, сетевой менеджер отображает доступные точки беспроводного доступа.
Таким образом, логичный порядок действий для начинающего пользователя (tm) состоит в том, чтобы одним щелчком левой кнопки мыши щелкнуть простой в использовании параметр в раскрывающемся списке «Диспетчер сети». учетная запись) ожидает, что сможет подключиться и ввести любые данные для аутентификации, если потребуется.
Но поскольку они используют учетную запись «Гость», у них никогда не будет прав администратора (и я не хочу, чтобы они были), и поэтому PolKit включается с запросом на авторизацию администратора.
Я решил эту часть, изменив разрешения PolKit, необходимые для того, чтобы все пользователи могли создавать системные сетевые подключения ...
Однако, поскольку эти сотрудники входят в точку доступа Wi-Fi с учетными данными Ldap, а сетевой менеджер теперь сохраняет эти учетные данные как системное соединение, их пароль доступен для следующего сеанса гостевого пользователя (поскольку профили подключения к системе хранится в /etc/NetworkManager/system-connections.d/*).
Он создает системные подключения по умолчанию, потому что «Доступно для всех пользователей» отмечен по умолчанию, когда вы быстро подключаетесь к новой точке доступа Wi-Fi.
Я хочу, чтобы Network Manager не отмечал это по умолчанию. Таким образом, я могу отменить изменения, внесенные в Polkit, и профили сетевых подключений пользователей будут удалены при выходе из системы.
Скрипт для 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