无法添加/激活连接。 (32)特权不足

我正在使用MATE桌面环境全新安装最小的Ubuntu系统。 当我点击NetworkManager的图标,然后点击要连接的无线网络时,我会收到一个对话框,上面写着:

连接失败

无法添加/激活连接

(32)特权不足。

我正在使用Lubuntu 14.04.1备用安装程序对Ubuntu 14.04进行干净的重新安装,然后选择F4 – >“安装基本命令行系统”,然后手动安装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

这可以通过修复NetworkManager的PolicyKit规则来解决。 首先检查/etc/polkit-1/localauthority/10-vendor.d是否已存在带有[nm-applet]部分的.pkla文件。 如果是,请对其进行备份,并在此文件的[nm-applet]部分ResultAny=no值更改为yes

这里描述了这些策略规则文件的结构。

如果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 

如果您希望添加更多用户,则应考虑使用useradd将所有用户添加到netdev组 ,并将规则更改为:

 Identity=unix-group:netdev 

现在将此.pkla文件复制到PolicyKit目录:

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

第2步

您还应该检查PolicyKit Authentication Agent是否正在运行 – 没有它,此规则将无法运行。 如果ps -ef | grep kit | grep agent ps -ef | grep kit | grep agent ps -ef | grep kit | grep agent没有返回任何内容,然后它没有运行。
检查此二进制文件是否存在 对于GNOME,可以在此处找到此文件:

/ usr / lib中/ PolicyKit的-1-侏儒/ polkit-侏儒认证剂-1

对于MATE,它位于此处(分别为32位和64位):

/ usr / lib中/ I386-Linux的GNU / polkit队友/ polkit队友认证剂-1
/ usr / lib中/ x86_64的-Linux的GNU / polkit队友/ polkit队友认证剂-1

它的位置可能因DE而异。 如果没有找到它,请寻求它:

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

如果您什么都没找到,则根本不安装PolicyKit Agent。 使用apt-cache search PolicyKit Authentication Agent命令在APT数据库中搜索包名称,并为您的DE安装适当的包。 对于MATE,它将是mate-polkit

由于某种原因它不会自动启动。 您可以在/etc/xdg/autostart搜索PolKit Agent .desktop启动程序并分析它无法启动的原因。 或者,您可以使用DE的“启动应用程序”创建自己的启动程序,并添加Polkit Authentication Agent命令以正确启动它。

如果您有兴趣,那么有关于PolicyKit权限的广泛而好的文章 。

@whtyger的答案在unbuntu 16.04上完美运行。 我不知道MATE是什么,但我试图通过php exec运行bash / python脚本。 (长话,尝试从php运行这些命令。) Ubuntu不允许我从终端控制网络设置。 遵循这些指示,现在我真的很开心! 希望这可以帮助!

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