PHP에서 스크린 세션으로 입력을 보내려고 합니다. 지금까지 여기에 설명된 단계를 따랐습니다.
다중 사용자 모드를 작동시키는 유일한 방법은 GNU Screen suid root를 실행하는 것입니까?
그리고 screenrc 파일에 "multiuser on"과 "acladd www-data"를 설정했습니다(또는 -c 옵션으로 사용하는 다른 파일에는 없지만 여전히).
지금 내 문제는 PHP로 화면에 액세스하려고 할 때마다
exec('screen -S user/session -p 0 -X stuff "test"'."\n", $ret);
오류가 발생합니다.
Cannot opendir /var/run/screen/S-user: Permission denied
답변1
허가, 허가, 허가
PHP 인터프리터를 실행하는 사용자에게는 실행 중인 화면 세션에 액세스하는 데 필요한 권한이 없습니다.
사용자에게 화면을 사용할 수 있는 www-data 권한을 부여했지만 화면 파일에 대한 액세스가 거부되었습니다. www-data 사용자가 읽기/쓰기를 허용하도록 파일에 대한 권한을 수정해 보십시오.