제가 지난번에 윈도우 7에서 IIS로 FTP 서버 돌리기 글을 올렸었는데요, 몇몇 분들이 윈도우 자체 계정이 아닌 임의로 생성한 계정으로 FTP 서버를 관리하기 원하시더군요. 사실 저도 요즘은 그 필요성을 느끼고 있습니다. 제가 돌리고 있는 FTP 서버로 가끔 다른 사람들에게 파일을 보내야 할 일이 있는데, 제가 사용하는 snoopy 계정과 비번을 알려주려니 좀 그렇더군요. 그래서 방법을 찾아봤는데 윈도우 7의 IIS에는 그 기능이 없는 듯 하고, 서버 2008 R2에는 그 기능이 있더군요. 그래서 그 방법을 소개해드립니다.

(참고로 제가 돌리고 있는 FTP 서버는 => ZOTAC ZBOX HD-ID11)


이 글에서는 FTP 서버가 생성되어 있다고 가정하고, IIS 관리자 계정을 생성하여 그것으로 로그인 할 수 있도록 구성해보겠습니다.

우선 아래 구성요소는 필수로 설치되어 있어야 합니다.



먼저 관리 서비스로 들어가 아래 그림처럼 설정합니다.



다음은 IIS 관리자 사용자로 들어가서 사용자를 추가합니다.



다음은 FTP 사이트에 있는 FTP 권한 부여 규칙으로 간 다음 방금 생성한 계정에 권한 부여 규칙을 생성합니다.



다음은 FTP 인증으로 가서 사용자 지정 공급자로 iisManagerAuth를 넣어줍니다. 저는 기본 인증과 익명 인증을 사용 안 함으로 설정하고 이 IIS 관리자 인증만 사용으로 설정했습니다.



다음은 IIS 관리자 권한으로 가서 위에서 생성했던 계정을 사용자 허용에 추가해주어야 합니다.



이제 거의 다 되었고, 마지막으로 한가지 작업이 더 남아 있습니다. 바로 폴더에 Network Service 접근 권한을 추가해줘야 합니다. 이 작업을 해주지 않으면 로그인이 되지 않습니다.

두가지 작업을 해주어야 하는데, 하나는 Windows\System32\inetsrv\Config 폴더에 대하여 Network Service가 읽기 권한을 가져야 하고, 나머지 하나는 FTP 루트 폴더에 대하여 Network Service가 읽기, 쓰기 등의 권한을 가져야 한다는 것입니다. 후자의 경우 저는 모든 권한 F를 주겠습니다.

icacls %windir%\System32\inetsrv\Config /Grant "Network Service":R /T
icacls "FTP 루트 폴더" /Grant "Network Service":F /T

저는 FTP 루트 폴더를 D 드라이브 TEST 폴더로 지정했기 때문에



이렇게 설정하면 끝입니다.

위 작업은 제가 VMware에 설치한 서버 2008 R2를 기준으로 진행했는데, 이상하게 윈도우 탐색기나 파일질라로는 문제 없이 접속되고 파일 전송도 잘 되었는데 알FTP로는 되지가 않더군요. 알FTP가 문제인건지 제가 설정을 덜 한 것인지 잘 모르겠습니다. 혹시 해결책을 아시는 분 계시다면 댓글 부탁드립니다. ^^

=> andu님 말씀대로 알FTP는 Passive 모드로 접속하니 문제 없이 잘 되더군요. ^^