Я хочу использовать nmcli в сценарии php, используя Exec-функция. Все работает хорошо, кроме того, что при звонке
nmcli -m multiline -f all d wifi
из командной строки он покажет мне все соединения и вызовет его из php следующим образом
exec("nmcli -m multiline -f all d wifi",$output,$result);
echo $output[0];
заканчивается пустой строкой.
Нужно ли добавлять пользователя www-data в определенную группу пользователей, которая позволяет перечислять доступные соединения?
[ОБНОВИТЬ]
После звонка
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 ")
[ОБНОВИТЬ]
В соответствии с эта почта Я обновил файл /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)
Задача ещё не решена.
Других решений пока нет …