폴더에 IIS_IUSRS RW 액세스를 추가하면 어떻게됩니까? ISUR RW 액세스를 자동으로 허용하지 않습니까?


11

IIS7 (Windows Server 2008 x64)을 사용하고 있으며 익명 인증을 사용하는 웹 사이트 설정이 있습니다. 익명 사용자 ID는 IUSR로 구성됩니다. 응용 프로그램이 파일을 폴더에 쓰고 IIS_IUSRS 그룹 RW 권한을 폴더에 부여합니다. 작동하지 않습니다. 응용 프로그램이 폴더에 쓸 수 있도록 IUSR RW 권한을 명시 적으로 제공해야합니다.

응용 프로그램 풀 ID가 IIS_IUSRS 그룹에 자동으로 추가된다는 것을 이해하고 있습니다. IUSR (또는 익명 사용자 ID)도 IIS_IUSRS 그룹의 묵시적 구성원 인 것으로 가정했습니다. 이것은 사실이 아닙니다.

문제를 해결하는 동안 Process Monitor를 사용하여 폴더에 대한 액세스 권한을보고 네트워크 서비스 (응용 프로그램 풀 ID)가 IUSR을 가장하고 있다고 판단했지만 IIS_IUSRS 그룹에 RW 권한을 부여해도 IUSR이 파일 (액세스 거부).

누구든지 IUSR이 IIS_IUSRS 그룹의 구성원인지 아닌지 설명 할 수 있습니까?

다음 문서를 검토 한 결과 확실한 답이 없습니다.

IIS 7의 기본 제공 사용자 및 그룹 계정 이해

응용 프로그램 풀 ID

답변:


14

두 가지가 다르기 때문입니다. IIS_IUSRS는 IIS 작업자 프로세스 계정 그룹입니다 . 이는 응용 프로그램 풀 자체가 실행되는 ID를 의미합니다. IUSR은 익명 사용자 신원입니다. 이는 IIS가 사이트에 액세스하는 사용자라고 생각하는 신원을 의미합니다.

지금 당신이 그것을 말하지 않았어, 추측하자-이 응용 프로그램은 고전적인 ASP? (그렇지 않으면 .Net 인 경우 가장을 사용해야합니다.) 어느 쪽이든, 자원은 가장 된 신원, 즉 귀하의 경우 익명 사용자, 즉 IUSR을 의미하여 액세스됩니다. 그렇기 때문에 귀하에게 권리를 부여해야합니다. .Net에서 가장을 끄면 IIS_IUSRS가 예상대로 작동합니다. 클래식 ASP (및 정적 파일)에서는 가장이 항상 "활성화"되어 있습니다. 풀 ID가 아니라 항상 사용되는 사용자 ID입니다. 따라서 IIS_IUSRS는 풀 ID 용이므로 사용 중이 아닙니다.


OP가 추가 정보를 추가 한 후 편집 :

이름 때문에 IUSR과 IIS_IUSRS를 혼동하기 쉽습니다. 이들이 다르다는 것을 확인하는 방법은 IIS_IUSRS가 작업자 프로세스 그룹 인 IIS6의 IIS_WPG를 대체한다는 것을 기억하는 것입니다. 이러한 그룹에는 풀 자격 증명이 아닌 풀을 실행하려는 계정을 추가하면 익명 권한이 더 제한됩니다. 예. 때로는 도메인 계정을 사용하여 kerberos 위임을위한 풀을 다른 네트워크 리소스로 실행할 수도 있습니다. 그런 다음 해당 서비스 계정을이 그룹에 추가합니다.

가장을 사용하도록 설정하면 풀 / 프로세스가 사용자에게 지시 된 것이므로 가장합니다. anon auth (귀하의 경우)의 경우 해당 사용자는 IUSR입니다. Windows 인증의 경우 사용자의 windows \ domain ID가됩니다. 프로세스가 리소스 액세스를 위해 다른 ID로 전환해야하기 때문에 가장으로 인해 성능이 저하되는 이유도 있습니다.

.NET 및 익명 인증을 사용하는 경우 왜 가장을 활성화해야하는지 모르겠습니다. IIS7의 경우 사용하지 않거나 가장이 필요하지 않은 경우 IIS7의 경우 더 많은 속임수를 알고 있어야합니다. IUSR을 완전히 없애고 모든 혼란을 끝낼 수 있습니다. 나는 당신이 그것을 좋아한다고 생각하며, 그것은 내가 선호하는 방법이기도합니다. 풀 ID를 익명 ID로 재사용하도록 지시하기 만하면 됩니다.

따라서이 후에는 IIS_IUSRS 그룹 만 처리하면됩니다. 그러나 혼동하지 마십시오. 이것이 여전히 두 사람이 동일하다는 의미는 아닙니다! 프로세스 아이덴티티가 IUSR을 대신 할 수도 있지만 다른 방법은 아닙니다!

IIS7의 속임수를 더 알고 있어야합니다. IIS_IUSRS를 보면 비어있을 수 있습니다. 풀이 시작될 때 가상 풀 ID가 자동으로 추가되므로 이러한 사항에 대해 걱정할 필요가 없습니다.

이 테이블은 스레드 실행 ID가 어떻게 결정되는지 더 잘 설명하는 데 도움이됩니다.

다음으로 액세스 한 가장 익명 액세스 리소스

IIS5 / 6에서 IUSR_computer를 활성화했습니다.
                                       IIS7의 IUSR 또는
                                       익명 사용자 계정을 변경 한 경우 
                                       IIS에서 설정 한 내용
활성화 비활성화 MYDOM \ MyName
비활성화 됨 활성화 된 NT 기관 \ 네트워크 서비스 (풀 ID)
사용 안 함 사용 안 함 NT 기관 \ 네트워크 서비스 (풀 ID)


우리는 .Net (3.5 대상)을 사용하여 정의되었지만 가장을 사용하고있을 수 있습니다. 확실하게 개발자와 확인해야합니다. 혼란은 익명의 사용자 ID가 자동으로 IIS_IUSRS 그룹의 구성원이라고 가정 한 사실에서 비롯됩니다. 그는 그때 내가 명확하지 않고 내가 착용하면 나를 수정하도록 허용하지 않기 때문에 g.

1) 기존 ASP를 사용하여 파일 액세스 권한은 익명 사용자 ID를 사용합니다. IIS 7 이상에서이 사용자는 기본적으로 IIS_IUSRS 그룹의 구성원이 아닙니다. 2) 가장이 활성화 된 경우 파일 액세스 권한은 ASP.Net을 사용하여 익명 사용자 ID를 사용합니다. IIS 7 이상에서이 사용자는 기본적으로 IIS_IUSRS 그룹의 구성원이 아닙니다. 3) 가장이 비활성화 된 경우 파일 액세스 권한은 ASP.Net을 사용하여 작업자 프로세스 ID를 사용합니다. IIS 7 이상에서이 사용자는 기본적으로 항상 IIS_IUSRS 그룹의 구성원입니다.

예, 모든 점에서 절대적으로 맞습니다! 완벽하게 명확하게하기 위해, # 1과 # 2에서 "IIS anon auth가 활성화 된 경우"를 추가해야합니다. 이미 anon을 사용하고 있다고 말했기 때문에 이전에 포함하지 않아도됩니다. 이것을 더 잘 설명하기 위해 내가 추가 한 표를 참조하십시오.
Amit Naidu

이것을 명확히 해 주셔서 감사합니다. 그것은 시행 착오를 통해 찾은 것에 동의하지만이 문서가 어디에서나 명확하게 문서화되지 않은 것을 보았습니다. 쓰기 권한이 필요한 IIS 응용 프로그램을 설정할 때 서버에서 LUA를 사용하는 관리자에게는 중요합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.