PHP/IIS6은 파일을 읽고 쓰는 데 어떤 사용자를 사용합니까?

PHP/IIS6은 파일을 읽고 쓰는 데 어떤 사용자를 사용합니까?

IIS6에 PHP5(FastCGI)를 설치했는데 PHP가 파일 시스템에 액세스하기 위해 어떤 Windows 사용자를 사용하는지 궁금합니다.

예를 들어 ASP.NET에서는 파일 시스템에 액세스하는 데 ASPNET 계정이 사용됩니다. 하지만 PHP는 어떻습니까?

나도 좀 읽었어우편익명(예: IUSR) 계정을 사용하는 것이 좋습니다. 하지만 IUSR 계정에 쓰기 권한을 부여하면 보안 위반이 아닌가요?

감사해요!

답변1

Craig의 말이 맞습니다. IIS6의 기본값은 NETWORK SERVICE 계정으로 실행됩니다. test.php에서 PHPinfo를 사용하는 것은 이를 진단하는 좋은 방법입니다.

나는 IIS에서 실행되는 코드의 "ID"에 대해 블로그에 글을 올렸습니다.여기OS별

도움이 되길 바랍니다.

데이브

답변2

나는 IIS 서비스를 실행하는 사용자가 무엇이든 사용할 것이라고 상상합니다. 하지만 빠르고 쉽게 알아볼 수 있는 방법은 다음과 같습니다.

  1. test.php라는 파일에 다음 줄을 추가합니다: <?php phpinfo(); ?>

  2. test.php를 IIS 문서 루트 아래에 넣고 브라우저에서 봅니다.

  3. 출력에서 사용자 이름이 포함된 줄을 찾으세요. 확실히 거기 어딘가에 있습니다.

답변3

php.ini에서 변경해야 합니다:

fastcgi.impersonate = 1;

따라서 PHP는 IIS(w3wp.exe)에서 사용하는 것과 동일한 계정을 사용합니다. (사용자: IUSR).

답변4

IIS6에서 기본 작업자 프로세스 사용자는 NETWORK SERVICE입니다. 작업 관리자를 열면 w3wp.exe 프로세스가 이 계정으로 실행될 가능성이 높습니다.

또한 ASPNET 사용자는 IIS5에서 이어졌습니다. "IIS5 격리 모드"를 사용하도록 IIS6을 구성하지 않은 경우 ASP.NET은 NETWORK SERVICE 계정에서도 "실행"됩니다.

관련 정보