PHP가 파일 시스템에 액세스하는 중 - 권한이 거부되었습니다.

PHP가 파일 시스템에 액세스하는 중 - 권한이 거부되었습니다.

설치하려는 도구를 사용하여 PHP 문제를 추적하려고 시도하고 있으며 파일 시스템의 권한 문제를 추적한 것으로 생각됩니다...

이제 다음과 같은 간단한 .php 파일이 생겼습니다.

<?php
system("/bin/ls");
?>

이것을 실행하면 /var/log/httpd/error_log에 다음 오류가 표시됩니다.

sh: /bin/ls: Permission denied

실행할 PHP를 변경하면 다음과 같습니다.

<?php
system("/bin/env");
?>

그런 다음 예상했던 결과가 표시됩니다.

따라서 권한이 없는 실행이 아니라 실행 파일이 읽으려고 하는 내용에 문제가 있습니다.

(제가 여기서 작업하려고 하는 도구는 phplicensewatcher입니다. 이는 다양한 라이센스 관리 데몬에서 무슨 일이 일어나고 있는지 감시하는 도구입니다.)

감사해요

답변1

내가 확인할 처음 두 가지 사항은 다음과 같습니다.

  • PHP는 어떤 사용자 아래에서 실행되고 있나요? Apache에 의해 생성된 경우 버전 및 구성에 따라 "nobody", "www" 또는 "apache"로 실행될 가능성이 높습니다.

  • 어떤 디렉토리를 나열하려고 합니까? 해당 디렉토리에 대한 권한을 확인하십시오. PHP가 실행 중인 사용자가 해당 디렉토리에 액세스할 수 있는 권한을 가지고 있습니까?

관련 정보