Я делаю свежую установку минимальной системы Ubuntu с окружением рабочего стола MATE. Когда я щелкаю значок NetworkManager и затем беспроводную сеть для подключения, я получаю диалоговое окно, в котором говорится:
Ошибка подключения
Не удалось добавить / активировать подключение
(32) Недостаточные привилегии.
Я делаю чистую переустановку Ubuntu 14.04 с альтернативным установщиком Lubuntu 14.04.1 и выбираю F4 kbd> -> «Установить базовую систему командной строки», затем установить X, MATE и NetworkManager вручную выглядит следующим образом:
sudo apt-get install software-properties-common -y
sudo apt-add-repository ppa:ubuntu-mate-dev/ppa -y
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate -y
sudo apt-get install xorg mate-core --no-install-recommends -y
sudo apt-get install network-manager network-manager-gnome --no-install-recommends -y
Если это помогает, когда я устанавливаю Ubuntu таким образом, он запрашивает пароль при подключении и отключении USB-накопителя. Кроме того, когда я создаю ярлык для команды shutdown
, чтобы иметь возможность выключить компьютер нажатием на значок, я должен изменить разрешения для /sbin/shutdown
:
chmod u+s /sbin/shutdown
Может быть, что-то Похожее происходит с Wi-Fi, и мне нужно изменить некоторые разрешения, чтобы он работал правильно?
Шаг 1
Это может быть исправлено путем фиксации правила PolicyKit для NetworkManager. В первую очередь, проверьте ли .pkla
файл с [nm-applet]
раздел уже существует в /etc/polkit-1/localauthority/10-vendor.d
. Если да, сделайте резервное копирование из него и изменитесь ResultAny=no
значение к yes
в [nm-applet]
раздел этого файла.
Структура этих файлов правила политики описана здесь.
Если этот файл отсутствует в 10-vendor.d
папка, мы создадим правило PolicyKit вручную. Создайте файл с именем org.freedesktop.NetworkManager.pkla
содержа следующие строки:
[nm-applet]
Identity=unix-user:your_username
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes
Замените your_username в этом файле с Вашим реальным именем для входа в систему. Если Вы хотите добавить несколько пользователей, измениться Identity
запись как это (и имена пользователей замены с желаемыми):
Identity=unix-user:username1;unix-user:username2
Если Вы хотите добавить еще больше пользователей, то необходимо рассмотреть добавление всех их к netdev
группа с useradd
и измените правило на:
Identity=unix-group:netdev
Теперь скопируйте это .pkla
файл к каталогу PolicyKit:
sudo cp org.freedesktop.NetworkManager.pkla /etc/polkit-1/localauthority/50-local.d/
Шаг 2
Необходимо также проверить, работает ли Агент Аутентификации PolicyKit - это правило не будет работать без него. Если ps -ef | grep kit | grep agent
возвраты ничто, затем это не работает.
Проверьте, существует ли этот двоичный файл. Для GNOME этот файл может быть найден здесь:
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
Для ПОМОЩНИКА это расположено здесь (для 32-разрядного и 64-разрядного соответственно):
/usr/lib/i386-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1
/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1
Его местоположение может варьироваться по другому DE. Если это не было найдено там, ищите его:
locate agent | grep -v -E '^/var|doc|so|helper' | grep pol
Если Вы ничего не нашли, то Агент PolicyKit не установлен вообще. Ищите имя пакета в базе данных APT с apt-cache search PolicyKit Authentication Agent
управляйте и установите соответствующий пакет для своего DE. Для ПОМОЩНИКА это будет mate-polkit
.
Это не запускается автоматически по некоторым причинам. Можно искать /etc/xdg/autostart
для агента PolKit .desktop
средство запуска и анализирует, почему ему не удается запуститься. Или можно создать собственное средство запуска с помощью "Приложения Запуска" DE и добавить команду Polkit Authentication Agent для запуска его правильно.
Если Вам интересно, существует обширная и хорошая статья о полномочиях PolicyKit.
ответ @whtyger работает отлично над unbuntu 16.04. Я не знаю то, что ПОМОЩНИК всего лишь, я пытался запустить скрипт удара/Python через php exec
. (длинная история, пытаясь выполнить эти команды от php.) Ubuntu не позволяла мне управлять параметром сети от терминала. Следовавший эти инструкции и теперь я действительно счастлив!Надеюсь, это поможет!
echo exec('python3 pypia/pypia.py -s -r us 2>&1',$out);
var_dump($out);