从php访问nmcli

时间:2015-06-08 09:57:45

标签: php linux bash wifi

我想使用exec - 函数在php脚本中使用nmcli。除了打电话

以外,一切都运作良好
nmcli -m multiline -f all d wifi

从命令行,它将显示所有的连接并从像这样的

中调用它
exec("nmcli -m multiline -f all d wifi",$output,$result);
echo $output[0];

以空字符串结束。

我是否需要将www-data用户添加到允许列出可用连接的特定用户组?

[UPDATE]
致电后

sudo -u www-data bash -c "nmcli --nocheck -m multiline -f all d wifi list 2>&1"

我收到以下错误消息

** (process:22156): WARNING **: Could not initialize NMClient
/org/freedesktop/NetworkManager: Rejected send message, 3 matched rules; 
type="method_call", sender=":1.100" (uid=33 pid=22156 comm="nmcli --nocheck 
-m multiline -f all d wifi list ") 
interface="org.freedesktop.DBus.Properties" member="GetAll" error name="    
(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager" 
(uid=0 pid=677 comm="NetworkManager ")

[UPDATE]
根据{{​​3}}我更新了文件/org/dbus-1/system.d/org.freedesktop.NetworkManager.conf并允许所有默认值。现在它适用于一些警告。但是像这样

sudo -u www-data bash -c "nmcli --nocheck -m multiline -f all d wifi list 2>/dev/null"

它按预期工作。但是我仍然无法通过此错误连接到网络:

** (process:7969): Warning **: Could not create objct for
/org/freedesktop/NetworkManager/Settings/5: No session found for uid 33 (unknown)

0 个答案:

没有答案