Próbuję wysłać dane wejściowe do sesji ekranowej z php. Do tej pory postępowałem zgodnie z objaśnionymi tutaj krokami.
Czy uruchomienie GNU Screen suid root jest jedynym sposobem na uruchomienie trybu wielu użytkowników?
I ustawiłem „multiuser on” i „acladd www-data” w pliku screenrc (lub cóż, nie. W innym pliku, którego używam przy opcji -c, ale nadal)
Mój problem polega na tym, że za każdym razem, gdy próbuję uzyskać dostęp do ekranu przez php
exec('screen -S user/session -p 0 -X stuff "test"'."\n", $ret);
Dostaję błąd:
Cannot opendir /var/run/screen/S-user: Permission denied
php
linux
gnu-screen
Zlug
źródło
źródło
Odpowiedzi:
Uprawnienia, uprawnienia, uprawnienia
Użytkownik korzystający z interpretera PHP nie ma wymaganych uprawnień, aby uzyskać dostęp do uruchomionej sesji ekranowej.
Zezwoliłeś użytkownikowi na dane www na korzystanie z ekranu, jednak dostęp do pliku ekranu jest zabroniony. Spróbuj zmodyfikować uprawnienia do pliku, aby umożliwić użytkownikowi danych www odczyt / zapis.
źródło