Falha ao adicionar / ativar conexão. (32) Privilégios insuficientes

6

Estou fazendo uma nova instalação de um sistema Ubuntu com o ambiente de desktop MATE. Quando clico no ícone do NetworkManager e, em seguida, na rede sem fio para me conectar, recebo uma caixa de diálogo que diz:

Connection failure

Failed to add/activate connection

(32) Insufficient privileges.

Estou fazendo uma reinstalação limpa do Ubuntu 14.04 com o instalador alternativo Lubuntu 14.04.1 e escolha F4 - > "Instalar um sistema de linha de comando básico", então instale o X, o MATE e o NetworkManager manualmente assim:

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

Se isso ajudar, quando eu instalar o Ubuntu dessa forma, ele pede senha ao conectar e desmontar uma unidade flash USB. Além disso, quando estou criando um atalho para o comando shutdown , para poder desligar meu computador com um clique em um ícone, preciso alterar as permissões para /sbin/shutdown :

chmod u+s /sbin/shutdown

Talvez algo semelhante esteja acontecendo com o Wi-Fi e eu precise alterar algumas permissões para que ele funcione corretamente?

    
por Nickolai Leschov 02.09.2015 / 11:29

2 respostas

6

Etapa 1

Isso pode ser curado pela correção da regra do PolicyKit para o NetworkManager. Primeiro, verifique se o arquivo .pkla com a seção [nm-applet] já existe em /etc/polkit-1/localauthority/10-vendor.d . Se sim, faça um backup dele e altere o valor ResultAny=no para yes em [nm-applet] deste arquivo.

A estrutura desses arquivos de regras de política é descrita em aqui .

Se este arquivo estiver ausente na pasta 10-vendor.d , criaremos a regra do PolicyKit manualmente. Crie o arquivo com o nome org.freedesktop.NetworkManager.pkla contendo as próximas linhas:

[nm-applet]
Identity=unix-user:your_username
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

Substitua your_username neste arquivo pelo seu nome de login real. Se você deseja adicionar vários usuários, altere a entrada Identity como esta (e substitua os nomes de usuário pelos desejados):

Identity=unix-user:username1;unix-user:username2

Se você deseja adicionar ainda mais usuários, considere adicionar todos eles a netdev group com useradd e altere a regra para:

Identity=unix-group:netdev

Agora copie esse arquivo .pkla para o diretório PolicyKit:

sudo cp org.freedesktop.NetworkManager.pkla /etc/polkit-1/localauthority/50-local.d/

Etapa 2

Você também deve verificar se o PolicyKit Authentication Agent está sendo executado - essa regra não funcionará sem ele. Se ps -ef | grep kit | grep agent não retorna nada, então não está sendo executado.
Verifique se este binário existe. Para o GNOME, este arquivo pode ser encontrado aqui:

/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

Para o MATE, ele está localizado aqui (para 32 bits e 64 bits, respectivamente):

/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

Sua localização pode variar em diferentes DE. Se não foi encontrado lá, procure por ele:

locate agent | grep -v -E '^/var|doc|so|helper' | grep pol

Se você não encontrar nada, o PolicyKit Agent não será instalado. Procure o nome do pacote no banco de dados APT com o comando apt-cache search PolicyKit Authentication Agent e instale o pacote apropriado para o seu DE. Para o MATE, será mate-polkit .

Não é iniciado automaticamente por algum motivo. Você pode pesquisar /etc/xdg/autostart para o agente PolKit .desktop launcher e analisar por que ele falha ao iniciar. Ou você pode criar seu próprio iniciador usando "Startup Applications" do seu DE e adicionar o comando Polkit Authentication Agent para iniciá-lo corretamente.

Se você estiver interessado, há um artigo extenso e interessante sobre os privilégios do PolicyKit.

    
por whtyger 31.03.2016 / 09:35
0

@whtyger answer funciona perfeitamente no unbuntu 16.04. Eu não sei o que é o MATE, mas eu estava tentando executar o script bash / python via php exec . (longa história, tentando executar esses comandos do php.) O Ubuntu não estava me permitindo controlar a configuração de rede do terminal. Segui essas instruções e agora estou muito feliz! Espero que isto ajude!

echo exec('python3 pypia/pypia.py -s -r us  2>&1',$out);
var_dump($out);
    
por Chad 02.09.2017 / 20:39