我想使用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)