윈도 계정 사용하지 않고 IIS계정쓰기.

1. 인터넷정보서비스 관리자 실행 [연결] 창에서 서버의 이름 클릭.
관리->IIS 관리자 사용자
사용자 추가-아뒤비번 넣고 생성

2. 다시 돌아와서 ...
관리->관리 서비스 클릭
windows 자격 증명 또는 IIS 관리자 자격 증명 으로 변경

3. FTP사이트 생성 후..
FTP->FTP 인증 선택
사용자 지정 공급자 클릭.
IisManagerAuth 선택 후 확인.

4. FTP 사이트로 다시..
FTP-> FTP 권한 부여 규칙
허용 규칙 추가..
1에서 만든 사용자 선택 후 권한부여(읽기,쓰기)

5.시스템 권한 변경
ICACLS "%SystemDrive%\Windows\System32\inetsrv\config" /Grant "Network Service":R /T
ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /Grant "Network Service":R
ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /Grant "Network Service":R
를 CMD창에 붙여서 사용해도 되고..
또는 탐색기에서 "C:\Windows\System32\inetsrv\config" 폴더에서 속성 들어가서..
보안 편집으로 들어가서 추가를 누른뒤 "NETWORK SERVICE" 계정 추가 후 "폴더내용보기, 읽기" 권한 부여
적용을 누르면 창이 몇개 뜨는데 "예", "계속" 을 눌러준다.

6. 다시 FTP 사이트로 이동..
관리-> IIS 관리자 권한
사용자 허용 을 누른뒤 IIS관리자 에서 선택을 눌러 추가한 사용자를 허용해준다.

===========================================================>여기까진..걍 기본 생성.
FTP 를 여러 사용자가 쓸 경우 보안상 FTP 사용자 격리가 필요하다.
그러나 설정을 잘못 하면 미친듯이 뱉어내는 
530 User cannot log in, home directory inaccessible. 
....orz..주의 사항만 잘 지키면 된다.

1. 인터넷정보서비스 관리자 실행 [연결] 창에서 서버의 이름 클릭.
FTP->FTP 사용자 격리
사용자 격리 를 선택하면 된다.
필자의 경우 사용자 이름 디렉터리(전역 가상 디렉터리 사용안함)을 선택하였고
FTP에서 가상디렉토리를 설정하였다.

주의사항
1. 윈도우 계정과 IIS 계정이 겹치면 위와 같은 오류를 볼 수 있다. 윈도우 계정을 바꾸든 IIS 계정을 바꾸든..꼭 바꾸자.
2. 가상디렉토리를 사용 할 경우 홈디렉토리 + LocalUser 폴더를 만들어주자
예)D:\FTP 안에 폴더를 사용한다고 가정하에..
C:\inetpub\ftproot\ 폴더 안에 간단하게 LocalUser 라는 폴더를 만들어 주었다.
3. FTP 생성(설정)시 홈 디렉토리는 C:\inetpub\ftproot\ 로 선택.
4. IIS관리자에서 생성한 FTP 에서 LocalUser 폴더를 선택 후 오른쪽 마우스를 눌러 가상디렉토리 추가 ..를 활용하여 생성
5. 주의 할 점은 위에서 만든 계정이랑 가상디렉토리 별칭 ..이랑 동일하게 해줘야 위와 같은 메세지를 뱉어내지 않을것이다..orz

이게 끝이다..이거 하나 때문에 3시간 삽질했다.

Posted by 침략자 -퍼렁별-

댓글을 달아 주세요

  1. cambo 2012.03.13 17:37  댓글주소  댓글쓰기 수정/삭제

    사랑합니다.