web-dev-qa-db-fra.com

Échec de l'ajout / activation de la connexion. (32) Privilèges insuffisants

Je suis en train d'effectuer une nouvelle installation d'un système Ubuntu minimal avec l'environnement de bureau MATE. Lorsque je clique sur l'icône NetworkManager, puis sur un réseau sans fil auquel je me connecte, une boîte de dialogue s'affiche:

Échec de connexion

Échec de l'ajout/activation de la connexion

(32) Privilèges insuffisants.

Je suis en train de réinstaller proprement Ubuntu 14.04 avec un autre programme d'installation de Lubuntu 14.04.1 et de choisir F4 -> "Installer un système de ligne de commande de base", puis installez X, MATE et NetworkManager manuellement, comme suit:

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

Si cela aide, lorsque j'installe Ubuntu de cette façon, il demande un mot de passe pour connecter et démonter une clé USB. De plus, lorsque je crée un raccourci pour la commande shutdown, pour pouvoir éteindre mon ordinateur en cliquant sur une icône, je dois modifier les autorisations pour /sbin/shutdown:

chmod u+s /sbin/shutdown

Peut-être que quelque chose de similaire se passe avec le Wi-Fi et que je dois modifier certaines autorisations pour que cela fonctionne correctement?

6
Nickolai Leschov

Étape 1

Cela peut être résolu en corrigeant la règle PolicyKit pour le NetworkManager. Tout d’abord, vérifiez si le fichier .pkla avec la section [nm-applet] existe déjà dans /etc/polkit-1/localauthority/10-vendor.d. Si oui, faites une copie de sauvegarde et modifiez la valeur ResultAny=no en yes dans la section [nm-applet] de ce fichier.

La structure de ces fichiers de règles de politique est décrite ici .

Si ce fichier est absent du dossier 10-vendor.d, nous créerons la règle PolicyKit manuellement. Créez le fichier avec le nom org.freedesktop.NetworkManager.pkla contenant les lignes suivantes:

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

Remplacez votre_nom_utilisateur dans ce fichier par votre vrai nom d'utilisateur. Si vous souhaitez ajouter plusieurs utilisateurs, modifiez l'entrée Identity comme ceci (et remplacez les noms d'utilisateur par ceux souhaités):

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

Si vous souhaitez ajouter encore plus d'utilisateurs, vous devriez envisager de les ajouter tous à groupe netdev avec useradd et modifiez la règle comme suit:

Identity=unix-group:netdev

Maintenant, copiez ce fichier .pkla dans le répertoire PolicyKit:

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

Étape 2

Vous devez également vérifier si PolicyKit Authentication Agent est en cours d'exécution. Cette règle ne fonctionnera pas sans elle. Si ps -ef | grep kit | grep agent ne renvoie rien, il ne fonctionne pas.
Vérifiez si ce binaire existe. Pour GNOME, ce fichier peut être trouvé ici:

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

Pour MATE, il se trouve ici (pour les versions 32 bits et 64 bits respectivement):

/ 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

Son emplacement peut varier dans différents DE. S'il n'a pas été trouvé là-bas, cherchez-le:

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

Si vous ne trouvez rien, l'agent PolicyKit n'est pas du tout installé. Recherchez le nom du paquet dans la base de données APT avec la commande apt-cache search PolicyKit Authentication Agent et installez le paquet approprié pour votre DE. Pour MATE, il s'agira de mate-polkit.

Cela ne démarre pas automatiquement pour une raison quelconque. Vous pouvez rechercher /etc/xdg/autostart pour le lanceur .desktop de PolKit Agent et analyser pourquoi son démarrage a échoué. Ou vous pouvez créer votre propre programme de lancement à l'aide des "Applications de démarrage" de votre DE et ajouter la commande Polkit Authentication Agent pour le démarrer correctement.

Si vous êtes intéressé, il existe un vaste et agréable article sur les privilèges de PolicyKit.

7
whtyger

@ Whtyger answer fonctionne parfaitement sur unbuntu 16.04. Je ne sais pas ce que MATE est, mais j'essayais d'exécuter le script bash/python via php exec. (longue histoire, en essayant d'exécuter ces commandes depuis php.) Ubuntu ne me permettait pas de contrôler le paramétrage du réseau depuis le terminal. J'ai suivi ces instructions et maintenant je suis vraiment heureux! J'espère que cela t'aides!

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