[iis-7] IIS7 권한 개요-ApplicationPoolIdentity

최근 핵심 웹 서버로 IIS7로 업그레이드했으며 권한 측면에서 개요가 필요합니다. 이전에는 파일 시스템에 쓸 필요가있을 때 AppPool 사용자 (네트워크 서비스)에게 디렉토리 또는 파일에 대한 액세스 권한을 부여했을 것입니다.

IIS7에서는 기본적으로 AppPool 사용자가로 설정되어 ApplicationPoolIdentity있습니다. 따라서 작업 관리자를 확인하면 ‘WebSite.com’이라는 사용자 계정이 IIS 프로세스 (IIS의 웹 사이트 이름 인 ‘Website.com’)가 실행되고 있음을 알 수 있습니다.

그러나이 사용자 계정을 사용하여 권한을 부여하려고하면이 사용자 계정이 존재하지 않습니다. 그렇다면 어떤 사용자에게 권한을 부여 할 것인지 어떻게 결정합니까?

편집 ==================================================== ===============================

스크린 샷의 문제는 아래를 참조하십시오. 저희 웹 사이트 (www.silverchip.co.uk)는 사용자 이름 SilverChip.co.uk에서 실행됩니다. 그러나 내가 pemissions를 추가하면이 사용자가 존재합니다!

여기에 이미지 설명을 입력하십시오

================================= AppPool 이미지보기

여기에 이미지 설명을 입력하십시오



답변

ApplicationPoolIdentity는 실제로 IIS7 +에서 사용하는 가장 좋은 방법입니다. 동적으로 생성되고 권한이없는 계정입니다. 특정 응용 프로그램 풀에 대한 파일 시스템 보안을 추가하려면 IIS.net의 “응용 프로그램 풀 ID”를 참조하십시오 . 빠른 버전 :

응용 프로그램 풀의 이름이 “DefaultAppPool”인 경우 (이름이 다른 경우 아래의 텍스트 만 바꾸십시오)

  1. Windows 탐색기를 엽니 다
  2. 파일 또는 디렉토리를 선택하십시오.
  3. 파일을 마우스 오른쪽 버튼으로 클릭하고 “속성”을 선택하십시오
  4. “보안”탭을 선택하십시오
  5. “편집”을 클릭 한 다음 “추가”버튼을 클릭하십시오
  6. “위치”버튼을 클릭하고 로컬 컴퓨터 를 선택했는지 확인하십시오 . ( 서버가 하나 인 경우 Windows 도메인이 아닙니다 .)
  7. ” 선택할 개체 이름을 입력하십시오 :”텍스트 상자에 ” IIS AppPool \ DefaultAppPool “을 입력하십시오. 여기에서 “DefaultAppPool”을 응용 프로그램 풀의 이름으로 변경하는 것을 잊지 마십시오.
  8. “이름 확인”버튼을 클릭하고 “확인”을 클릭하십시오.

답변

이름을 확인할 때 도메인 이름이 아닌 서버의 로컬 이름을 사용해야합니다.

IIS AppPool\DefaultAppPool

(이것이 나를 약간 넘어 뜨 렸기 때문에 단지 알림) :여기에 이미지 설명을 입력하십시오


답변

IIS 기본 구성 으로는 IIS AppPool \ YourAppPoolName 사용자 에게 액세스 권한이 충분하지 않을 수 있습니다 .

제 경우에는 여전히 AppPool 사용자를 추가 한 후 HTTP 오류 401.3-권한이 없음 오류 가 발생 했으며 IUSR 사용자 에게 권한을 추가 한 후에 만 ​​수정되었습니다 .

기본적으로 익명 액세스는 IUSR을 사용하여 수행되기 때문에이 작업이 필요합니다 . 다른 특정 사용자 인 응용 프로그램 풀을 설정하거나 IUSR을 계속 사용할 수 있지만 적절한 권한을 설정하는 것을 잊지 마십시오.

인증 탭

이 답변의 크레딧 : HTTP Error 401.3-Unauthorized


답변

Windows Server 2008 (r2)에서는 속성-> 보안을 통해 폴더에 응용 프로그램 풀 ID를 할당 할 수 없습니다. 다음을 사용하여 관리자 명령 프롬프트를 통해 수행 할 수 있습니다.

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)


답변

파트 A : 응용 프로그램 풀 구성

응용 프로그램 풀의 이름이 ‘MyPool’이라고 가정하고 IIS 관리자에서 응용 프로그램 풀의 ‘고급 설정’으로 이동

  1. ‘ID’로 스크롤하십시오. 값을 편집하려고하면 대화 상자가 나타납니다. ‘내장 계정’을 선택하고 그 아래에서 ‘ApplicationPoolIdentity’를 선택하십시오.

  2. ‘Identity’아래의 몇 줄에 ‘Load User Profile’이 있습니다. 이 값은 ‘True’로 설정해야합니다.

파트 B : 웹 사이트 구성

  1. 웹 사이트 이름 : SiteName (예제)
  2. 물리적 경로 : C : \ Whatever (예제)
  3. Connect as … : 응용 프로그램 사용자 (통과 인증) (위의 설정은 IIS 관리자 사이트의 ‘기본 설정’에서 찾을 수 있습니다)
  4. 기본 설정을 구성한 후 사이트 기본 콘솔의 ‘IIS’에서 ‘인증’구성을 찾으십시오. 열어 봐. ‘익명 인증’에 대한 옵션이 표시되어야합니다. 활성화되어 있는지 확인하십시오. 그런 다음 마우스 오른쪽 버튼을 클릭하고 ‘편집 …’을 클릭하십시오. ‘응용 프로그램 풀 ID’를 선택하십시오.

파트 C : 폴더 구성

해당 폴더는 C : \ Whatever입니다.

  1. 속성-공유-고급 공유-권한으로 이동하여 ‘이 폴더 공유’를 선택하십시오.
  2. 같은 대화 상자에 ‘권한’버튼이 있습니다. 클릭하세요.
  3. 새로운 대화 상자가 열립니다. ‘추가’를 클릭하십시오.
  4. 새로운 대화 상자 ‘사용자 또는 그룹 선택’이 열립니다. ‘이 위치에서’에서 이름이 로컬 호스트 컴퓨터와 동일한 지 확인하십시오. 그런 다음 ‘개체 이름 입력’에서 ‘IIS AppPool \ MyPool’을 입력하고 ‘이름 확인’을 클릭 한 다음 ‘확인’을 클릭하십시오.
  5. ‘MyPool’사용자에게 전체 공유 권한을 부여하십시오. 적용하고 폴더 속성을 닫습니다
  6. 폴더 속성을 다시여십시오. 이번에는 보안-고급-권한으로 이동하여 추가를 클릭하십시오. 상단에 ‘주체 선택’옵션이 있거나 사용자를 선택할 수있는 다른 옵션이 있습니다. 클릭하세요.
  7. ‘사용자 또는 그룹 선택’대화 상자가 다시 열립니다. 4 단계를 반복하십시오.
  8. ‘MyPool’사용자에게 필요한 전부 또는 많은 권한을 부여하십시오.
  9. ‘모든 하위 개체 권한 바꾸기 …’를 선택하고 적용하고 닫습니다.

이제 웹 사이트 탐색을 사용할 수 있습니다


답변

Jon Adams의 최고 답변

PowerShell 사람들을 위해 이것을 구현하는 방법은 다음과 같습니다.

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl


답변

혼란에 추가하기 위해 이러한 로그인에 대해 (Windows 탐색기) 유효 권한 대화 상자가 작동하지 않습니다. 통과 인증을 사용하는 사이트 “Umbo4″가 있고 사이트 루트 폴더에서 사용자의 유효 권한을 확인했습니다. 이름 확인 테스트는 “IIS AppPool \ Umbo4″라는 이름을 확인했지만 유효 권한은 사용자에게 폴더에 대한 권한이 없음을 나타냅니다 (모든 확인란의 선택을 취소 함).

그런 다음 탐색기 보안 탭을 사용하여이 사용자를 폴더에서 명시 적으로 제외했습니다. 이로 인해 사이트가 예상대로 HTTP 500.19 오류와 함께 실패했습니다. 그러나 유효 권한은 이전과 동일하게 보입니다.