오래전 올렸던 "Windows 7 으로 FTP 서버 만들기" 포스트 (http://cybercafe.tistory.com/161)를 많은 분들이 찾아주고 있다. 그만큼 개인 파일서버에 대한 요구가 많다는 이야기일 것이다. 그래서 지난번 포스트에 이어 Windows 7의 FTP 서버에 여러 계정을 만들고 계정별로 디렉토리에 대한 접근 권한을 세분화하는 방법을 설명해 볼까 한다.

처음에는 Windows 7 자체의 FTP서버에서 계정을 만들고 디렉토리 별로 접근권한을 세분화하는 방법을 찾지 못해 베리즈 웹쉐어, HTTP File Server, Serv-U FTP 서버 등 몇몇 다른 솔루션을 찾아봤지만 썩 만족할만한 수준의 기능은 얻지 못했다. 하나가 되면 하나가 안되는 등 높은 수준(?)의 요구사항을 충족해줄 만한 제품은 없었다.

그렇다면... 그냥 Windows 7의 기본 FTP 서버를 이용하는 것이 최선일지도 모른다는 생각에 Windows 7 자체에서 해결해보기로 하자.

먼저 Windows 7의 FTP를 설치하는 것은 앞의 포스트 "Windows 7으로 FTP 서버 만들기 (http://cybercafe.tistory.com/161) 를 참고하라.

Windows 7의 FTP 서버를 설치했다면 다음의 순서대로 따라해보자.

1. IIS/FTP관련 인증 모듈 설치

"제어판"에서 "프로그램제거"를 실행하고 "Windows 기능 사용/사용안함"을 실행합니다.
그리고 아래와 같이 보안 기능의 두가지를 추가로 체크해서 기능을 활성화 시킵니다.



2. IIS/FTP에서만 사용할 수 있는 계정 추가하기

윈도7과 윈도2003 이상의 서버에서는 사용자 계정을 많이 생성할 수 있는데 일반적으로 잘 사용하지 않는 이유중의 하나가 웹과 FTP 에서만 사용하면 되는데 경우에 따라서는 그 계정으로 서버에 직접 로그인할 수 있다고 생각하기 때문입니다.

이 문제를 해결하기 위해서는 윈도에 계정을 만들 때 사용자의 그룹을 IIS_IUSRS 로 지정하면 됩니다. 윈도 7의 경우 IIS_IUSRS 그룹으로 지정하면 제어판의 계정관리와 PC를 리부팅 후 처음 로그인할 때 새로 만든 계정은 로컬로그인 권한이 없기 때문에 아예 보이지 않게 됩니다.

계정을 만들기 위해 도스창을 실행하고 control userpasswords2 명령을 실행합니다.
그리고 실행되는 창에서 "사용자 이름과 암호를 입력해야~" 항목에 체크를 해줍니다.


다음으로 계정을 추가하기 위해 "추가" 버튼을 누르고 표시되는 창에 계정 정보를 다음과 같이 입력합니다.


"다음"을 눌러 패스워드를 입력합니다.


"다음" 버튼을 눌러 생성할 계정의 그룹을 "IIS_IUSRS"로 입력합니다.


그룹설정이 되면 "마침" 버튼을 눌러 계정생성을 완료합니다. 다음과 같이 생성된 계정이 보입니다.
아래의 경우 IIS 웹서버 및 FTP서버에서 사용자 인증에 사용될 계정이 3개가 생성되어 있습니다.



이쯤에서 한번 눌러주심이.. ^^



3. FTP 서버 접근 시 ID / Password 인증 설정하기

계정을 생성하고 나면 IIS의 FTP서버에 가상디렉토리를 추가하고 생성한 계정에 대해 접근권한을 부여할 수 있습니다.

먼저 IIS 관리자를 실행하기 위해 "제어판"-"시스템 및 보안"-"관리도구"에 들어가서 IIS(인터넷 정보 서비스) 관리자"를 실행합니다.


다음과 같이 IIS에 FTP사이트를 생성합니다.
그리고 이 FTP서버에 익명사용자가 접근하지 못하도록 하기 위해 왼쪽 창에서 FTP 서버를 선택하고 가운데 창에 보이는 "FTP 권한 부여 규칙" 아이콘을 클릭합니다.
(나중에 가상디렉터리를 생성하고 디렉터리 별로 접근권한을 부여할 때는 오른쪽 하단의 "가상 디렉터리 보기"를 클릭하고 들어갑니다.)


"FTP 권한 부여 규칙"은 왼쪽 창의 FTP서버와 하위의 가상디렉터리를 선택하면 가운데 창에 보이는 아이콘들 중 하나입니다. 사이트의 FTP 서버를 선택하고 "FTP 권한 부여 규칙"을 클릭하면 아래와 같이 해당 FTP 사이트에 대한 사용자들에 대한 접근 권한을 설정할 수 있습니다.

위의 화면처럼 "모드:허용, 사용자:모든사용자, 사용권한:읽기" 로 설정하면 이 FTP 서버의 / (root 디렉터리)에 접근하기 위해서는 계정을 갖고 있어야하며 로그인(인증)을 거쳐야만 합니다.

이 접근 규칙을 선택하고 오른쪽 창의 "편집"을 누르면 다음과 같이 권한을 변경할 수 있는 창이 실행됩니다.


위의 화면에서 "모든 사용자"와 "모든 익명 사용자는 다릅니다. 모든 사용자는 "FTP서버에 계정을 갖고 있는 사용자 모두"를 의미하고 모든 익명사용자는 FTP에서 말하는 "anonymous(익명,로그인 하지 않고 접근하는 모든 사용자)"를 의미합니다.

즉 "모든 사용자"를 선택하면 ftp://IPAddress 로 접근할 때 최상위 Root 디렉터리 목록을 보여주기 전에 사용자 인증 창을 보여주고 ID와 패스워드를 입력할 것을 요구한 뒤 정상적으로 인증되어야만 디렉토리 목록을 보여줍니다.

즉 모든 사용자에게 ID와 패스워드를 요구하고자 한다면 위와 같이 FTP 권한 부여 규칙을 적용하면 됩니다.
위의 화면과 같이 권한 부여 규칙을 만든 뒤 웹 브라우저에서 ftp://Ipaddress 와 같이 접근하면 아래처럼 로그인 창이 먼저 실행됩니다.


4. 가상디렉터리에 특정 계정만 읽을 수 있도록 접근 권한 규칙 적용하기


앞에서 적용한 정책은 FTP 사이트에 대한 접근 시 ID/Password 인증을 거치도록 설정한 것이죠. 다음은 로그인 한 뒤 특정 디렉터리에 대한 접근 권한을 설정할 필요가 있습니다. 특정 가상디렉터리에 특정 계정만 접근할 수 있도록 설정하고자 한다면 아래와 같이 가상디렉터리를 선택한 화면에서 "FTP 접근 권한 규칙"을 클릭합니다.


가상 디렉터리를 선택하고 "FTP 권한 부여 규칙"을 클릭하면 다음과 같이 창이 실행됩니다.


위의 화면은 taeho 라는 계정에게만 읽기 /쓰기 권한을 부여하고 다른 계정은 접근하지 못하도록 설정한 규칙입니다. 위와 같이 특별한 계정에게만 읽기/쓰기 권한을 부여하고자 한다면 다른 규칙은 모두 삭제하고 위와 같이 규칙을 설정하면 됩니다.

규칙을 추가하기 위해서는 오른쪽 창의 "허용 규칙 추가"를 클릭하면 됩니다.


이 창에서 "지정한 사용자"에 앞에서 만든 계정의 ID를 입력하면 됩니다. 그리고 사용 권한에 읽기와 쓰기를 모두 체크하면 다운로드 및 업로드 권한을 모두 갖게 됩니다.

지금까지 Windows 7의 내장 IIS의 FTP서버와 가상디렉터리에 대한 사용자 인증 및 권한 제한 방법에 대해 살펴보았습니다.

주요 과정은 다음과 같습니다.

1. Windows 7에 IIS 서버와 인증모듈을 설치 한 뒤
2. IIS_IUSR 그룹에 웹서비스 및 FTP 서비스를 통해서만 사용이 가능한 계정을 생성하고
3. IIS 관리자 창에서 FTP서버와 특정 디렉터리에 "FTP 접근 권한 규칙"을 생성

지금까지 전용 웹하드 장비를 구매하지 않고 오래된 PC나 저사양의 PC를 이용해 자료를 저장하고 외부에서 다운로드 하거나 다른 사람들에게 일부 자료를 공유할 수 있도록 도와주는 Windows 7의 FTP 서버 사용법에 대해 살펴봤습니다.

즐거운 인터넷 서핑이 되길~~~~

+ Recent posts