RedPlus 개인 블로그

시삽: 레드플러스 님 
게시판 이동:
 제목 : Windows Server 2003 FTP 사이트 구성 및 관리
글번호: 240
작성자: Administrator ( 레드플러스 / redplus@live.com )
작성일: 2011/05/09 오전 8:50:00 (2011/05/09 오전 8:50:00 수정)
조회수: 4297

 

1.1 소개

이번시간은 WWW과 더불어서 인터넷의 중요한 기능중의 하나인 FTP서버를 구축하고 운영하는 법을 학습하도록하겠다. 독자들중에는 이미 무료홈페이지 계정을 받아서 FTP로 파일을 전송해 본 경험이 있는 분들도 꽤 있으리라 본다. 이제는 우리가 직접 FTP 서버를 구성해서 남들에게 일정한 공간을 FTP서비스를 제공하도록 하는 기능을 학습해보자. 아울러 이번 장에서는 FTP, FTP서버, FTP서비스 등의 단어는 같은 의미로 받아들이기 바란다.

 

1.2 이번 장에서 학습할 내용들

- 누구나 다 접속하는 FTP 사이트

- Administrator만 접속하는 FTP 사이트

- 로컬 사용자에게 FTP 사이트 만들어주기

- 디스크 할당량 관리를 사용한 FTP 사이트 사용량 제한하기

 

1.3 FTP(File Transfer Protocol)란?

FTP는 파일 전송 프로토콜(File Transfer Protocol)의 약자로써, 원격에 있는 서버에 파일을 업로드하거나 다운로드할 수 있는 기능을 말한다.

 

1.4 FTP 설치

W2KS에서는 FTP가 기본값으로 설치되진 않는다. 우리가 처음에 설치할 때 아래 그림과같이 [File Transfer Protocl(FTP) 서버]를 클릭하고 설치하였다면 이미 설치가 되었겠지만 만약 설치가 안되었다면 [제어판] > [프로그램 추가 및 제거] > [윈도우 구성요소 추가 및 제거]에 들어가서 FTP 항목을 선택해서 설치하면 된다.

clip_image002

 

1.5 FTP 구성 전에 해야할 일

FTP 사이트로 파일을 업로드할 때는 권한이 있어야한다. 그래서 특정한 사용자만 접근하도록 구성하려면 앞서 배운 기술 중에서 로컬사용자를 만들어야하고, 또한 특정한 사용자에게 일정한 FTP공간을 할당해주려면 역시 앞서 배운 기술중에서 NTFS권한 중 디스크할당량관리부분을 적용시키면 된다.

 

1.6 Anonymous와 로컬 사용자

공개용 FTP서버라는게 있다. 공개용 FTP란 누구나 다 접근해서 파일을 다운로드 받을 수 있다. 대신 공개용 FTP서버에서는 다운만 받지 업로드는 안되는 경우가 대부분이다. 왜냐하면 그렇게 설정을 해놓았기 때문이다. FTP설정시 Anonymous라는 권한을 주면 누구나 다 파일을 다운로드 받아갈 수 있게 되고, Anonymous를 권한주지않고 우리가 직접만든 사용자 이름으로 FTP 별칭을 만들어서 사용하게되면 여러 사용자에게 FTP서비스를 부여해 줄 수 있는것이다.

 

1.7 FTP 설치 확인 및 실행

FTP도 역시 WWW와 마찬가지로 IIS를 실행시키면 된다.

1. [시작] > [프로그램] > [관리도구] > [인터넷 서비스 관리자] 클릭.

2. [시작] > [실행] > [열기] : inetmgr > [엔터].

clip_image004

위 그림과 같이 [기본 웹 사이트]는 WWW을 [기본 FTP 사이트]는 FTP 서버를 의미한다.

 

1.8 홈디렉터리와 가상디렉터리

FTP 서비스 역시 홈디렉터리와 가상 디렉터리가 존재한다. FTP에서의 홈디렉터리는 크게 두가지로 구분되는데 누구나 다 접속가능하거나 Administrator만 접속가능하게 설정할 수 있다. 가상디렉터리는 특정한 로컬 사용자에게 그 사용자만의 홈페이지공간 즉, FTP서버 공간을 주려고 할 때 만들면 된다. 이 부분이 WWW(웹사이트) 설정과는 조금 다른면이기도하다.

 

1.9 FTP 접속하기

예전에는 FTP서버에 접속하려면 FTP 서버 접속 프로그램(유틸리티)를 따로 설치해서 접속하곤했다. 하지만 인터넷 익스플로서 5.0이상에서는 자체 FTP프로토콜을 제공하고 있다. 웹사이트에 접속할 때는 http://로 FTP서버에 접속할 때는 ftp://로 접근하면 되는것이다. IIS에 FTP가 설치되어있다면 이미 누구나 다 들어갈 수 있는 FTP가 여러분들의 서버에 구성되어있으니 테스트 해보자.

● 웹브라우저를 실행시킨다. > 주소란에 ftp://localhost/ 라고 입력한다. > 열려진 FTP사이트를 확인한다. 아이디나 암호를 물어보는 입력창이 나타나지도 않은채 누구나 다 접속가능하다. 하지만 폴더를 생성하거나 파일을 업로드하진 못한다. 처음 설치하고나면 설정이 읽기전용으로 되어있다.

clip_image006

 

실습1 : FTP 서버 설정하기

이번 실습을 통해서 새로운 FTP서버를 구축해보자.

Administrator로 접근하는 FTP(홈디렉터리) 구성하기

앞서 FTP를 처음 설치해놓고 접속하게되면 누구나 다 들어갈 순 있지만 읽기권한밖에 없기 때문에 파일을 업로드하지 못한다. 이제는 Administrator만 접속가능하고 파일을 업로드 및 다운로드할 수 있는 사이트를 만들어보자.

1. Administrator로 로그온하자.

2. IIS를 연다. > [기본 FTP 사이트] > 마우스 오른쪽 버튼 클릭 > [등록정보] 클릭 > [보안계정] 탭 클릭 > [익명연결허용]란 체크 삭제 > [예] 버튼을 클릭한다.

clip_image008

3. 이어서 [홈 디렉터리] 탭 클릭 > [쓰기] 권한 부분을 체크한다. > [확인]버튼을 눌러서 기본 FTP 사이트 등록 정보를 빠져나온다.

clip_image010

4. 웹사이트를 실행시키는것처럼 [IIS] > [기본 FTP 사이트] > 마우스 오른쪽 버튼 클릭 > [브라우저에서 보기]를 클릭한다.

clip_image012

5. 앞서 Anonymous 접속과는 달리 로그인 창이 뜬다. 기본 FTP 사이트(FTP 홈디렉터리)는 Administrators권한을 가진 사용자만이 접근가능하다. 사용자 이름에 Administrator와 암호에 여러분들의 암호를 입력하고 로그인한다.

clip_image014

6. 이번에는 기본 FTP 사이트 등록정보에서 쓰기권한을 주었기에 폴더 생성 및 파일 업로드가 가능하다.

clip_image016

참고. 웹브라우저로 FTP 사이트를 접속하고 나서 FTP설정을 다시 바꾼다음에는 웹브라우저를 닫고 새로 연다음에 적용시켜봐야한다. 가끔 캐싱 때문에 전에 설정되었던 정보가 남아있어서 제대로 확인을 못할 수도 있다.

로컬 사용자에게 FTP 사이트 공간 할당하기

이번에는 FTPuser01라는 이름의 로컬사용자를 만들고 그 사용자에게 최대 5MB의 디스크 공간을 할당시켜보자. 이때는 새로운 FTP사이트를 생성하는게 아니라 기본 FTP 사이트의 가상디렉터리로 FTPUser01라는 별칭을 줘서 특정 폴더를 지정해주면 된다. 큰 순서는 로컬 사용자 생성 > 디스크 할당량 관리 > FTP 가상 디렉터리 설정의 순으로 하면 된다.

1. FTPUser01라는 로컬 사용자를 만들어보자. 설마 기억이 안나시는분들이 있으시다면 4장 사용자 관리 부분을 다시 공부하자.

clip_image018

2. FTPUser01이라는 사용자의 입주공간 즉 폴더를 만들어주고 그 폴더가 위치한 드라이브에 대해서 최대 5MB, 경고수준 4MB의 디스크 공간을 할당시켜주자. 마찬가지로 디스크 할당량 관리가 기억이 안나면 5장 NTFS 파일 시스템 관리 부분을 다시 훑어보기 바란다.

필자는 C:\Home\FTPUser01이라는 폴더를 만들고, C드라이브에 대해서 디스크 할당량을 5MB 주었다.

clip_image020

3. FTPUser01이라는 사용자는 FTPUser01이라는 별칭(가상디렉터리명)으로 FTPUser01이라는 폴더에 접근하는 FTP 가상 디렉터리를 생성해보자.

a. [IIS] > [기본 FTP 사이트] > 마우스 오른쪽 버튼 클릭 > [새로 만들기] 클릭 > [가상 디렉터리]를 클릭한다.

clip_image022

b. 웹사이트 만들때와 비슷하게 [가상 디렉터리 만들기 마법사]가 나타나는데 [다음] 버튼을 클릭한다.

clip_image024

c. [가상 디렉터리 별칭] 입력창이 나타나는데, 여기서 중요한게 앞서 공부했던 웹사이트의 가상디렉터리는 우리가 원하는 이름으로 작성해도되고 하나의 폴더를 여러이름으로 가상디렉터리로 설정할 수 있었다. 하지만 우리가 지금 하려고 하는 것은 어느 사용자가 어느 별칭으로 어느 폴더에 접근하느냐의 관점이기에 사용자 이름FTP 가상 디렉터리(별칭) 이름은 반드시 반드시 맞춰주기바란다. 필자가 반드시란 단어를 두번 연속해서 나열하는 부분이 혹 이책을 통해서 보여지면 그 부분은 많은 사람들이 혼동하는 부분이기에 주의하라고 하는것으로 받아주면 좋겠다.

clip_image026

d. [FTP 사이트 컨텐트 디렉터리]는 FTPUser01이라는 폴더를 지정하자. 참고로 폴더이름은 사용자 이름이나 별칭 이름과는 맞춰주지 않아도 상관없으나, 이 역시 마찬가지로 관리의 편의를 위해서 맞춰주면 좋을것이다.

clip_image028

e. [액세스 권한] 창이 나타나는데 [읽기]만 체크하면 FTP사이트에 접속해서 다운로드만 가능한 FTP 사이트가 되고, [쓰기]만 체크하면 업로드만 되는 FTP사이트가 되며, 둘 다 체크하면 업로드 및 다운로드가 되는 FTP 사이트를 설정할 수 있다. 우리는 FTPUser01이라는 사용자에게 해당 폴더에 대한 읽기/쓰기 권한을 모두 주자. 그래야만 업로드 및 다운로드가 가능해진다.

clip_image030

f. 마법사가 성공적으로 완료되면 [마침] 버튼을 클릭해서 나오면 FTPUser01이라는 이름의 FTP 가상 디렉터리가 설정되었다.

clip_image032

4. 웹브라우저를 열어서 확인해보자. FTP 가상디렉터리는 절대 IIS에서 마우스 오른쪽 버튼을 클릭해서 웹브라우저로 보기 메뉴를 사용하지 말기 바란다. 꼭 웹브라우저나 FTP 접속 유틸리티를 사용하자. 웹브라우저에서 ftp://localhost/ 라고 치자. 여기서도 마찬가지로 웹사이트의 가상디렉터리는 바로 http://localhost/별칭이름/ 식으로 쳤으나, FTP사이트는 반드시 로컬 또는 해당 IP주소 또는 도메인이름만 치고 들어가자.

clip_image034

5. 로그인 창에 FTPUser01의 아이디와 암호를 입력하면 FTPUser01의 폴더로 접속하는걸 확인할 수 있다. 자, 그러면 디스크 할당량 관리가 제대로 이루어졌는가 C:\Program Files라는 폴더를 복사해서 업로드 해보자. 제대로 구성되었으면 5MB정도만 업로드되고 에러메시지와 함께 멈출 것이다.

clip_image036

어찌 제대로 구성이 되었는가? 위와 같은 순서로 이번에는 FTPUser02라는 사용자를 만들고 그 사용자의 입주공간을 FTPUser02라는 폴더명으로 주고, FTP 가상디렉터리 별칭이름을 역시 FTPUser02로 설정하자. 이러한 방법을 사용하면 여러분들의 서버에 몇십 몇백명의 사용자에게 FTP 공간을 할당량을 제한하면서 줄 수 있을것이다.

 

끝.

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 팁. 64bit용 IIS7에 Classic ASP 적용시 주의 사항 - Administrator 2011-05-10 4318
현재글 Windows Server 2003 FTP 사이트 구성 및 관리 - Administrator 2011-05-09 4297
다음글 ASP.NET 4 Web Forms과 ASP.NET MVC 3를 하나의 웹 사이트에 ... - Administrator 2011-04-22 4025
관련 페이지 리스트
numtitlenamedateview
388 C 언어에서 값 전달과 참조 전달(Call By Value and Call By Re... Administrator 2023-03-09 3561
387 병합 알고리즘 순서도 2022-10-22 5092
386 C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기 Administrator 2022-01-09 4404
385 C 언어: scanf 사용해서 표준 입력인 콘솔로부터 나이를 정수로 입력 받아 출력 Administrator 2022-01-07 3214
384 Java 코드 샘플 - Function 인터페이스로 람다 식 만들기 Administrator 2022-01-04 3112
383 C# 코드 샘플 - 널 조건부 연산자 사용하기 Administrator 2022-01-02 3153
382 C# 코드 샘플 - 널 병합 연산자와 default 키워드 Administrator 2022-01-02 3064
381 C# 코드 샘플 - 널 병합 연산자로 문자열 변수의 NULL 값 확인하기 Administrator 2022-01-02 2976
380 C# 강의 - 14세 미만 체크 메서드 구현 Administrator 2022-01-01 3029
379 C 언어 천 단위 콤마 찍기 thousands_separator.c Administrator 2021-12-30 4161
378 for 문 순서도 - for 문(for loop) 순서도(flowchart) Administrator 2021-12-28 6875
377 C 언어 코드 샘플 - 전처리기 - 조건부 컴파일 Administrator 2021-12-27 3054
376 C 언어 코드 샘플 - 전처리기 - 매크로 함수 Administrator 2021-12-27 3022
375 http-server 설치하기 - 로컬 루프백 주소로 웹페이지 실행 2021-12-27 3025
374 C 언어 코드 샘플 - N명의 학생의 점수를 입력받아 1차원 배열에 저장 후 총점 구... Administrator 2021-12-27 3079
373 Java 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2956
372 C 언어 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2998
371 C# 교과서 강좌 - LINQ - Select 확장 메서드에 익명 형식 사용하기 Administrator 2021-12-26 3116
370 C# 교과서 강의 - LINQ - Select 확장 메서드를 사용하여 새로운 형태로 ... Administrator 2021-12-26 3031
369 C 언어 코드 샘플 - static-shared - 정적(공유) 변수 사용하기 Administrator 2021-12-26 3049
 
 
 
손님 사용자 Anonymous (손님)
로그인 Home