Używam skryptu php na moim serwerze apache/ubuntu do wywołania skryptu bash, który uruchamia aplikację pobierającą skrypt Pythona jako argument (IDAPro).Błąd uprawnień PHP/Ubuntu - QxcbConnection: Nie można się połączyć z wyświetlaniem przerwanym
kod PHP
chdir('/var/www/dashboard/team/static/sql');
$output = exec('sudo -u rohan ./start.sh');
Teraz, powyższy kod działa poprawnie jeśli uruchomić plik PHP z terminala - ale tylko wtedy, gdy go uruchomić jako administrator. Nie trzeba dodawać, że jeśli uruchomię plik Bash bezpośrednio, to też działa.
Ale kiedy uruchomić plik PHP w przeglądarce, to nie działa i pojawia się następujący błąd w dzienniku błędów apache:
QXcbConnection: Could not connect to display
Aborted
Rozumiem, że Apache/PHP działa jako „Bramki WWW- użytkownik danych (użył "whoami" do weryfikacji), i dlatego mam sudo w moim exec. Udoskonaliłem i zmodyfikowałem uprawnienia dla obu użytkowników bezskutecznie. Kiedy uruchamiam plik php z terminala jako użytkownik "www-danych", nie generuje on błędu, ale nic nie robi poza wyświetleniem losowych tagów echa I na początku i końcu skryptu w celu jego debugowania.
Jestem początkującym linuxem, więc każda pomoc jest bardzo doceniana.
Dzięki za 'XAUTHORITY'! – kyb