2007~2011/IIS2009. 7. 2. 00:01
인터넷 서비스 계정 IUSR_HOSTNAME, IWAM_HOSTNAME 은 처음 IIS 설치 시 HOSTNAME 에 의해 계정 이름을 생성하게 됩니다. 그리고 이 정보는 IIS 메타베이스에 저장되게 됩니다. 그렇다면 IUSR, IWAM 계정이 삭제 되거나 HOSTNAME 이 변경되었을 때는 어떻게 될까요? 테스트 한 과정을 아래와 같이 정리하였습니다. 


[시나리오]
1. IUSR_<HOSTNAME>, IWAM_<HOSTNAME> 계정을 삭제한 뒤 IIS 서비스를 재시작합니다.
2. HOSTNAME 을 변경하고 IUSR, IWAM 계정을 삭제한 뒤 IIS 서비스를 재시작합니다.
3. adsutil.vbs 를 사용하여 IUSR, IWAM 서비스 계정을 변경합니다. 
 

[환경]
Windows Server 2003 
HOSTNAME  : VLAIGOT1  (LAIGOSERVER 로 변경하고자 함)
Anonymous User Name : IUSER_VLAIGOT1
WAM User Name : IWAM_VLAIGOT1 


[작업절차]
1. IUSR_VLAIGOT1, IWAM_VLAIGOT1 인터넷 서비스 계정으로 설정된 현재 상태입니다. 


2. IUSR_VLAIGOT1, IWAM_VLAIGOT1 계정을 삭제합니다. 

깔끔하게 삭제 되었습니다.


3. IIS 를 재시작 합니다. 서비스가 재시작 되면서 기존의 메타데이터에 등록된 IUSR, IWAM 계정이 다시 생성됩니다. HOSTNAME 변경 후 시스템을 재시작 한 뒤 IUSR, IWAM 계정을 삭제해도 역시 기존 HOSTNAME 형식의 계정으로 나타납니다. 왜냐하면 IIS 메타데이터에 기존 호스트명의 인터넷 서비스 계정이 등록되어 있기 때문입니다. 


4. adsutil.vbs 명령을 사용하여 인터넷 서비스 계정을 변경합니다. 
C:\Inetpub\AdminScripts> CSCRIPT adsutil.vbs set w3svc\WAMusername "IWAM_LAIGOSERVER"
C:\Inetpub\AdminScripts> CSCRIPT adsutil.vbs set w3svc\anonymoususername "IUSR_LAIGOSERVER"

만약 FTP 서비스도 사용하고 있다면 아래 명령을 추가로 수행해야 합니다.

C:\Inetpub\AdminScripts> CSCRIPT adsutil.vbs set msftpsvc\anonymoususername "IUSR_LAIGOSERVER"




5. IIS 서비스를 재시작하게 될 경우 새로운 이름의 계정이 추가로 생성됩니다. (기존 계정은 수동으로 삭제하시면 됩니다) 


6. 변경된 계정을 확인합니다. 
C:\Inetpub\AdminScripts> CSCRIPT adsutil.vbs get w3svc\WAMusername
C:\Inetpub\AdminScripts> CSCRIPT adsutil.vbs get w3svc\anonymoususername


정리해서, 시나리오 1~3번 모두 웹 서비스하는데 문제가 발생하지 않습니다. 인터넷 서비스 계정 정보가 메타베이스와 일치하지 않아 오류가 발생하는 상황이라면 adsutil.vbs 를 사용하여 동기화 작업을 진행하면 되겠네요. 


[참고자료]
PRB: Configured Identity Is Incorrect for IWAM Account


작성자 : Lai Go / 작성일자 : 2009.06.29
Posted by Lai Go