wpa_rpiv - вспомогательная программа для разделения привилегий wpa_supplicant
wpa_priv [ -c путь_управления ] [ -Bdd ] [ -P PID_файл ] [ драйвер:интерфейс [драйвер:интерфейс ...] ]
wpa_priv - это вспомогательная программа для разделения привилегий, которая которая минимизирует размер кода wpa_supplicant, который нужно запускать с привилегиями пользователя root.
Если включено, привилегированные операции выполняются в процессе wpa_priv, при обработке остатка кода (например, аутентификации EAP и рукопожатия WPA) работающего в непривилегированном процессе (wpa_supplicant), который может быть запущен от имени пользователя, не являющегося root. Разделение привилегий ограничивает эффект потенциальных ошибок, содержащихся в значительной части кода непривилегированного процесса для избежания возможности полной компрометации системы.
wpa_priv требуется запускать с привилегиями администратора сети (обычно это пользователь root). Он открывает сокет домена UNIX для каждого интерфейса, который указан в командной строке; любые другие интерфейсы будут запрещены wpa_supplicant при таком способе настройки. После этого wpa_supplicant можно запустить от имени пользователя, не являющегося root (например, все стандартные пользователи ноутбука или особая учётная запись непривилегированного пользователя, созданного просто для задач дополнительного ограничения доступа к файлам пользователя).
Следующие шаги являются примером настройки wpa_priv, позволяющим пользователям из группы wpapriv, для взаимодействия через wpa_supplicant с разделением привилегий:
Создадим группу пользователей (например, wpapriv) и поместим в эту групп пользователей, которые должны иметь доступ к использованию wpa_supplicant.
Создадим каталог /var/run/wpa_priv для сокетов домена UNIX и настроим права доступа только для группы wpapriv, в которой состоят управляющие пользователи:
mkdir /var/run/wpa_priv chown root:wpapriv /var/run/wpa_priv chmod 0750 /var/run/wpa_privЗапустим wpa_priv от имени пользователя root (например, из сценариев загрузки системы) и включим в командной строке необходимые интерфейсы:
wpa_priv -B -c /var/run/wpa_priv -P /var/run/wpa_priv.pid wext:wlan0Запустим wpa_supplicant от имени пользователя, не являющегося пользователем root, но состоящим в группе wpapriv:
wpa_supplicant -i ath0 -c wpa_supplicant.conf
-c управляющий_путь Указывает wpa_priv путь к управляющему каталогу (По умолчанию: /var/run/wpa_priv/). -B Работать в режиме демона в фоне. -P файл Задать расположение файла с идентификатором процесса. драйвер:интерфейс [драйвер:интерфейс ...] Строка <драйвер> указывает, какой из поддерживаемых wpa_supplicant драйверов будет использован. Для получения списка поддерживаемых типов обратитесь к справке по wpa_supplicant (например, wpa_supplicant -h). Драйвер, поддерживающий большинство хороших устройств - wext. Строка <интерфейс> указывает какой сетевой интерфейс будет управляться wpa_supplicant (например, wlan0 или ath0).
wpa_priv не использует сетевой интерфейс до запуска wpa_supplicant, поэтому вожно указывать сетевые интерфейсы, которые не доступны во время запуска wpa_priv. wpa_priv может управлять несколькими интерфейсами из одного процесса, но при желании также можно запустить одновременно несколько процессов wpa_priv.
wpa_supplicant(8)
wpa_supplicant Copyright © 2003-2007, Джуни Мэлайнен (Jouni Malinen) <j@w1.fi> и вкладчики. Все права защищены.
Эта программа распространяется под двумя лицензиями: GPL версии 2 и лицензией BSD. Любая из лицензий может использоваться на ваш выбор.
Перевод на русский язык выполнил Владимир Ступин <wheelof@gmail.com>
WPA_PRIV (8) | 28 ÐÑÐ»Ñ 2010 |