pc에서 ftp서버 만들기


『파워 유저 동호회-네트워크 (go PUG)』 504번
 제  목:[강좌] PC에서 ftp서버 만들기 1/2                           
 올린이:apt2848 (복성현  )    98/06/19 18:42    읽음:897 관련자료 없음
 -----------------------------------------------------------------------------

인터넷 상에서 파일을 주고받는 서비스인 FTP(File Transper Protocol)
를 내 PC에서 간단하게 구축할 수 없을까. 당장 내 PC에 있는 대용량의
파일들을 다른 지역의 PC로 보내고 싶을 때 유용하며 웬만한  비비에스
파일서버가 부럽지 않은 FTP 서버. PC를 FTP 서버로 구축해주는 FTP
Serv-U만 있으면 가능하다.

요즘에는 웹 환경이 활성화되어 많은 사람들이 인터넷 하면 곧바로 웹,
즉 WWW를 떠올린다. WWW도 인터넷에서 제공되는 서비스 중 하나일 뿐으
로 그외에 많은 인터넷 서비스가 있다. 이 중 FTP와 메일 서비스는  특
히 중요한데 메일 서비스는 일반인에게 많이 알려졌지만 FTP  서비스는
그리 대중적이지 않다. 그러나 실제로 웹에서 파일을 다운로드 받을 경
우에 사용되는 것은 FTP 서버로서 그만큼 파일을 전송하는 데 없어선
안되는 중요한 인터넷 서비스이다. 그런데 이렇게 파일을 전송하는  기
능인 FTP가 윈도우 95에는 없다. 또한 윈도우 NT에서도 IIS 서버를  설
치해야 FTP 서비스를 할 수 있다. 물론 윈도우 NT의 경우는 서버에  초
점을 맞추어 개발된 운영체제이므로 일단 FTP 서버를 구축할 경우에 손
쉽게 IIS를 이용할 수 있다. 그렇다면 윈도우 95에서 간편하게 FTP  서
버를 만들려면 어떻게 해야 할까? 바로 FTP Serv-U를 사용하면 된다.

설치하는 방법도 간단하고 운영하는 방법도 기존의 유닉스 환경에서 설
정하는 것보다 훨씬 쉽다. 그래서 간이 FTP 서버를 운영하는 인터넷 사
이트에서 종종 이 프로그램을 이용한 곳이 눈에 띈다.
이 FTP 서비스는 자신의 PC에서 작업한 파일을 다른 장소에서 전송받거
나 다른 사람이 자신의 PC에 파일을 전송해야 할 일이 있을 때 무척 효
율적인 해결책이다. 더군다나 굳이 비싼 하드웨어를 요구하는 윈도우
NT나 손에 잘 익지 못한 유닉스를 고집하지 않아도 되니 일석이조다.물
론 개인적으로는 유닉스 계열 운영체제인 리눅스 사용을 선호하지만 섣
불리 다가서기에는 너무 생소한 느낌이어서 간단히 SOHO 환경을 구축하
려는 사람은 이렇게 윈도우 95에서 사용할 수 있는 데몬(Deamon)프로그
램을 권유하는 편이다.

FTP Serv-U 구해오기

먼저 FTP Serv-U를 가져와야 하는데 홈페이지(http://www.cat-soft.com)
에 들러보자. 홈 페이지를 보면 매뉴얼과 기타 정보들을 볼 수  있는데
프로그램을 다운로드받으면 그 프로그램에도 매뉴얼이 포함되어 있다.
설치 과정은 설치 디렉토리를 결정하는 정도로 마무리할 수 있으며 원하
는 위치에 프로그램이 설치됐다면 환경설정을 해주어야 제대로 된 FTP서
버를 구축할 수 있다. 처음 Serv-U를 실행하면 대화상자가 나타는데  셰
어웨어이므로 등록하라는 메시지와 함께 두 가지 형태의 프로그램  사용
방법을 보여준다. 45일간 제한없이 사용할 수 있는 것과 제한적으로  사
용이 가능한 것이다. 사실 제한적인 사용 권한을 갖고 FTP 서버를  만들
어도 무난하지만 너무 빈약하므로 여기서는 45일간 평가할 수 있는 사용
권한을 갖도록 하자.
프로그램을 돌리면 녹색 U 모양의 트레이 아이콘이 작업 표시줄에  들어
간다. 서버가 동작하면 파란색으로 변하는데 이 트레이 아이콘을 더블클
릭하면 Serv-U 프로그램 창이 열린다.

화면 1. 트레이 아이콘을 더블클릭하면 프로그램 창이 열린다.

프로그램 창은 <화면 1>과 같이 매우 간단하다. 흰색 바탕에 메시지만
출력되는 화면이다. 이 화면에서 어떤 사용자가 로그인 했으며 얼마동안
서버에 머물고 있는지를 알려준다. 단순하지만 Setup 메뉴를 선택하면
이제부터 험난한(?) 설정과정을 지나야 한다. 먼저 Setup 메뉴에서 FTP
-Server를 선택한다. 기본으로 설정된 값 이외에도 설정할 내용이있는데
다소 전문적인 의미를 지닌 항목도 있지만 그렇게 어려운 설정은아니다.
먼저 포트 번호를 설정한다. 인터넷은 기본적으로 TCP/IP를 이용해 파일
을 전송한다. 그런데 이 프로토콜은 포트(Port) 번호라는 개념을   갖고
인터넷 서비스를 이용하게 된다. 포트는 TCP/IP 프로토콜을 사용할 때
여러 서비스를 이용할 수 있도록 해준다. 즉 하나의 TCP/IP 연결을 가지
고 FTP와 Telnet, 웹 서비스를 이용할 수 있는 까닭은 바로 이 포트  때
문에 가능한 것이다. 왜냐하면 각 서비스마다 포트 번호가 지정되어  있
으므로 이 번호로 서로 통신해 다중 환경을 구현해준다. 포트 번호 중에
서 0부터 255 까지는 이미 지정되어 있는 포트 번호이며 이들 포트 번호
에서 21은 주로 FTP를 위해 이용된다. 프로그램에서도 포트 번호는 21번
으로 되어 있고 이를 수정할 필요는 없다. Max. speed 항목은 현재 FTP
서버로 사용할 컴퓨터가 연결된 인터넷 회선의 속도를 입력한다. ISDN이
나 전화급 전용선(일명 TT선)을 이용한다면 각각의 속도를 입력하고 인터
넷 전용선을 사용하는 환경이라면 회선 급에 따른 속도를 Kbps 단위로
입력한다.

Max. no. of users 항목에서는 FTP 서버에 들어올 수 있는 최대 사용자
수를 입력한다. 그리고 Max. no. anonymous에는 임의로 FTP 서버에 들어
올 수 있는 사용자 수이다. 여기에서 Max. no. of users 항목은 FTP 서
버에 등록된 사용자는 물론 Anonymous 사용자 수를 포함한 수이다. 이러
한 입력값은 시스템 성능과 회선 속도를 고려해 입력해야 제대로 된 서비
스를 제공할 수 있다.

Time-out users와 Time-out anonymous 에는 FTP 서버에 입력이 들어오지
않을 경우 일정 시간이 경과하면 자동으로 사용자 접속을 끊어버리는 설정
이다. 기본값으로 두어도 상관없다. Serv-U는 윈도우 NT에 설치해 사용할
수도 있지만 여기에서는 윈도우 95에 설치한 경우만을 기준으로 한다. 윈
도우 95를 시작할 때마다 이 프로그램을 실행하려면 시작 프로그램 폴더에
단축 아이콘을 두면 되겠지만 이 대화상자에서 Auto-start as system
service를 선택하면 자동으로 프로그램이 시작된다.

Enable security 와 Encrypt password 항목은 인터넷에서 간이 FTP 를 만들
생각이라면 반드시 선택한다. 이를 선택하지 않으면 예기치 않은 외부인의
침입에 대응할 수 없게 된다. 그리고 Check anon. passwords를 선택하면
anonymous로 FTP 서버에 로그인했을 때 전자 메일 주소를 적어야만 로그인
하도록 해준다.

Delete partially uploaded files는 만약 FTP 서버에 파일을 업로드하는
도중 연결이 끊겨 파일을 제대로 못 올렸다면 이러한 파일을 자동으로 삭제
하는 기능이다. 마지막으로 Use all lower case for files/dirs는 운영체제
에 따라 대소문자 이름을 구분하는 데 적용할 수 있는 옵션이다. 물론 유닉
스와는 다르지만 윈도우 95에서는 체크하지 않고 사용해도 무방하다.

화면 2. FTP 서버 설정 대화상자

FTP Serv-U 서버 사용자 설정

기본적으로 서버에 대한 설정이 끝났다면 이제는 손님 맞을 준비를 해야
한다. 인터넷에서 자신의 컴퓨터에 들어올 사용자들에 대한 등록 과정이
바로 그것인데 크게 두 가지 유형의 사용자가 있다. 일반 사용자와 anon
ymous 사용자. 일반 사용자는 FTP Serv-U에 등록된 사용자이며anonymous
사용자는 등록되지 않았지만 파일을 업로드 하거나 다운로드 할 수 있는
임의의 사용자를 의미한다. 보통 FTP 서버에 로그인하는 사용자들은  특
정 디렉토리, 즉 폴더에 들어오도록 하는 것이 좋다. 유닉스 시스템으로
되어 있는 FTP 서버에 로그인하면 다른 디렉토리가 보이지 않는데  이는
보안상 좋고 파일관리할 때도 편리하다.
 
 사용자 설정은 Setup 메뉴의 Users 를 선택해 설정한다. 초기값은 사용
자가 등록되지 않았으므로 아무리 다른 컴퓨터에서 FTP Serv-U를 설치한
컴퓨터에 들어오려 해도 들어올 수 없다.사용자를 등록하기 위해 New 버
튼을 누른다. 먼저 Anonymous 사용자를 등록한다.이 사용자 이름은 특별
하게 인식되는 사용자 이름이며 이 이름으로 서버에 로그인하면 앞서 설
정한 Check anon. passwords가  선택되어 있을 경우 암호로 메일 주소를
입력해야 로그인할 수 있다. 그리고 Home directory 를 설정해야 하는데
홈 디렉토리가 설정되지 않으면 로그인할 장소가 없으므로 서버에  들어
올 수 없다. 그러므로 서버에 파일을 둘 디렉토리를 지정하고 이   디렉
토리로 로그인하도록 한다. 그리고 File/Directory access rules에서 홈
디렉토리를 추가한다. Add 버튼을 눌러 홈 디렉토리와 동일하게  입력한
다. 물론 다른 디렉토리도 선택해 추가할 수 있지만 어차피 임의로 들어
올 사용자는 한 개의 홈 디렉토리에 동일하게 사용하도록 하는 것이  좋
다.

그리고 해당 파일과 디렉토리에 대해 설정하는데 Files 항목에 Read,
Write, Delete,Execute 를 설정하도록 되어 있고 Directories 항목에는
List, Make, Remove 를 설정 수 있다. 각각이 의미하는 대로 파일과  디
렉토리를 다룰 수 있는 권한을 설정하는 것인데 anonymous 사용자는  읽
고(Read), 볼 수만 있도록(List) 설정하는 것이 보안상 좋다. Sub-dirs:
inherit 항목은 부 디렉토리도 같은 형태의 설정을 자동으로 적용하도록
하는 옵션이다. 참고로 anonymous 사용자의 홈 디렉토리를 x:\anonftp
라고 했다면 다음과 같은 설정으로 따로 설정을 해 디렉토리와   파일에
대한 설정을 하면 일관성 있는 FTP 서버 설정이 될 것이다.

* F:\ANONFTP\UPLOAD ⇒ 쓰기(write), 부 디렉토리도 동일한
  설정 적용(inherit)
* F:\ANONFTP ⇒ 읽기(read), 보기(list), 부 디렉토리도 동일한
  설정 적용(inherit)


                                                         액톤코리아
                                                www.dual.dnet.co.kr



『파워 유저 동호회-네트워크 (go PUG)』 505번
 제  목:[강좌] PC에서 ftp서버 만들기 2/2                           
 올린이:apt2848 (복성현  )    98/06/19 18:50    읽음:530 관련자료 없음
 -----------------------------------------------------------------------------

이렇게 파일에 대한 설정을 한 후에 암호를 설정해야 하지만 앞서
anonymous 사용자의 암호 체크를 설정했다면 자동으로 메일 주소를
묻도록 되어 있으므로 암호에 대한 설정을 하지 않아도 된다. 이렇게
설정을 마쳤으면 Store 버튼을 눌러 추가한다. 다음은 일반 사용자를
설정해야 하는데 모든 과정은 위의 anonymous 사용자와 동일하고  암
호만 설정한다. 물론 홈 디렉토리에 대한 설정도 해야 한다. 그리고
Group name이 있는데 이는 여러 사용자가 있을 때 일일이 설정할 필요
없이 그룹별로 묶어서 관리할 경우 이 항목에 그룹 이름을 입력한다.
이 그룹 이름은 Setup 메뉴 Groups 항목에서 만들어준다.

그룹 이름을 만드는 과정과 화면은 사용자를 설정하는 그것과 동일
하다. 단지 User name 항목이 비어 있다는 점만 빼놓고 말이다. Group
name에 이름을 입력하고 해당 그룹에 대한 설정을 사용자 등록과 동일
하게 한다. 이렇게 설정된 Group은 앞서 본 사용자 등록시에 이용된다.
즉 Group name 항목에 등록한 그룹 이름을 입력하면 자동적으로 Group
에 설정된 내용이 그대로 해당 사용자에 반영된다. 물론 암호를 각기
다른 것으로 설정하는 것이 보안을 위해 좋다.

화면 3. 설정한 Group을 사용자 등록시에 이용할 수 있다.

좀더 세밀한 사용자 설정하기
사용자 설정과 그룹 설정 대화상자를 보면 이외에도 다른 버튼들이
있음을 알 수 있어 Misc 버튼을 누르면 기타 추가 설정에 대한
대화상자가 나타난다. 이 설정은 프로그램 화면 왼쪽에 위치한
사용자나 그룹에 대한 설정이다. 즉 anonymous 를 선택하고 이 버튼을
누르면 이 사용자일 경우에만 해당 설정 사항이 적용된다.
먼저 Disable account 를 설정하면 해당 사용자나 그룹을 일시적으로
사용하지 못하도록 할 수 있다. 그리고 Show path relative to homedir
를 설정하면 홈 디렉토리로 설정된  위치로부터 사용자에게 보여준다.
만약 c:\users 라고 홈 디렉토리로 만들었다고 가정하자. 그런데 이
설정이 되어 있지 않으면 사용자가 로그인했을 때 이 디렉토리 경로를
모두 볼 수 있다. 그러나 이 설정을 하면 유닉스의 루트디렉토리인
“/”가 c:\users 가 되어서 실제 로그인을 한 경우에는  “/” 디렉
토리만 보게 된다. 예를 들어 c:\users\uploads 라는 디렉토리가
있다면 이 디렉토리를 홈 디렉토리로 사용하는 모든 사용자는 /uploads
만을 보게 된다.
Hide ‘hidden’ files 를 선택하면 숨김 속성이 있는 파일을 볼 수
없으며 Always allow login, no time-out 항목은 로그인하면 무한정으로
접속을 유지할 수 있도록 하는 설정이다. 마지막에 있는 항목은 특정한
IP 번호를 갖고 있는 컴퓨터에서 서버에 로그인한 경우 접속할 수
있도록 하는 설정이다.
유닉스는 한 사용자 아이디를 가지고 여러 사람이 로그인을 할 수
있는데, 특히 anonymous 의 경우는 앞서 서버 셋팅에 따라 달라진다.
그러므로 이 설정을 해서 완벽하게 서버에 로그인하는 사용자를 제한
하는 경우에 유용하게 사용할 수 있다. 이 설정에서 선택을 권장할
만한 항목은 Show path relative to homedir 와 Hide ‘hidden’files
이다. 이 설정은 유닉스 같은 FTP 서버 처럼 보여질 수 있으므로 보안
이나 다른 문제를 발생시킬 소지를 조금이나마 줄일 수 있다고 본다.

Max. speed 는 앞서 서버 설정에서 했다면 빈 칸으로 두어도 되면
만약 이곳에 입력하면 해당 값으로 다운로드 속도를 제한한다. 많은
사용자가 몰리면 이 다운로드 속도를 제한할 필요가 있다. 너무 높은
속도로 여러 명이 동시에 다운로드하면 네트워크에 이상이 있을 수도
있기 때문이다. Login message file 은 처음 접속할 경우 환영 메시지
를 출력하는 것으로서 단순한 텍스트 파일을 하나 만들고 해당 파일이
있는 경로와 파일 이름을 입력해주면 된다. 이 텍스트는 간단한  매크
로를 넣어 재미있게 꾸밀 수 있는데 매크로는 %로 시작한다.가령 예를
들어 Hello %name from %IP 라고 텍스트를 만들면 컴퓨터 IP 번호가
192.168.1.1이고 user 라는 사용자로 로그인한 경우 Hello user from
192.168.1.1 이라는 메시지가 로그인이 끝나고 첫 화면에 나타난다.

화면 4. User/Group Upload/Download Ratio 대화상자

U/D 버튼은 업로드/다운로드 비율을 설정하도록 하는데 이 설정은 특정
사용자가 파일을 업로드하지 않고 얌체같이(?) 파일만 다운로드하지 못
하도록 할 때 이용한다. 즉 몇 번 이상 업로드를 해야 다운로드할 수
있도록 설정하는 것이다. 설정할 수 있는 항목은 이 업로드 파일을
세션당 정하거나 아니면 파일 크기 및 개수로 조정할 수 있으므로 맘에
드는 설정을 선택한다. 그리고 Ratio 항목에서 Uploads/Downloads 비율
을 정확히 설정하면 해당 사용자에 대한 U/D 설정이 된다. 물론 현재
사용자가 이 규칙을 얼마나 잘 이행하고 있나를 확인하려면
Preset/Current 부분을 보면 확인할 수 있다.

유닉스는 사용자별로 홈 디렉토리를 설정할 수 있으며 이 디렉토리
공간을 제한할 수 있다. 이를 쿼터(Quota)라고 하는데 참고로 윈도우
NT는 FTP 서비스를 하더라도 이러한 쿼터 기능은 없다. Serv-U에서
설정하는 쿼터는 유닉스의 그것과 동일하다. 설정을 하게 되면
Maximum 에 설정된 공간 이상 사용할 수 없다. 이 기능은 여러 사용자
마다 자신의 홈 디렉토리를 할당하여 사용할 때 아주 유용하다. 사용자
설정을 마치면 일단 간단하게 FTP 서버로서 사용할 수 있다. 그러나
왠지 부드럽지 못한 느낌이 든다. 조금 더 세밀하게 설정하는 방법을
보도록 하자.

먼저 처음 서버에 접속할 때 나오는 메시지를 만들어보자. 이 설정은
Setup 메뉴에서 Sign on/Sign off에서 하는데 이 메뉴를 선택하면 두
개의 입력창으로 나누어진 대화상자가 열린다. 위의 Signon message는
처음 서버에 접속할 때 나오는 메시지를 입력하는 부분이고 Signoff
message 는 서버와 접속을 끝낼 때 나오는 메시지이다.
앞서본 Login message file 과 다른 점은 먼저 이 메시지는 처음 접
속을 한 후 특정 사용자로 로그인한 후에 나오는 메시지이고
이 Signon은 무조건 서버에 접속한 경우에 나오는 메시지이다. 그러나
사용하는 매크로는 동일하다.

화면 5. Setup Sign on/Sign off Text 대화상자

사용자 관리 툴에 대해서
사실 FTP 서버만을 만들어 자신만 이용하는 경우에는 사용자 관리를
할 필요가 없다. 그러나 완전한 FTP 서버를 사용한다면 사용자 관리를
해야 한다. 더구나 누가 무슨 일을 자기 PC에서 하고 있는지 알아야
할 필요가 있다. 이럴 때를 대비에서 Serv-U는 편리한 사용자 관리
도구를 갖고 있다.

File 메뉴에서 User Info를 선택하면 창이 열리는데 이곳에는 현재
접속하고 있는 사용자에 대한 정보를 보여주고 무슨 일을 하고
있는지 알 수 있다.

그리고 접속한 사용자가 무슨 일을 하고 있는지를 정확히 보려면
Spy on User 버튼을 누른다. 이 창을 보면 선택한 사용자가 무슨
작업을 하고 있는지를 정확히 알 수 있다. 왜냐하면 입력한 명령
어는 물론 출력 메시지까지 모두 보여주기 때문이다. 그런데 이렇게
작업을 하고 있는 사용자가 조금 의심스러운 행동을 하고 있다면 어
떻게 해야 할까? 물론 Serv-U를 종료했다가 다시 시작하면 되지만
이렇게 황당한 방법보다는 아예 해당 사용자와 접속을 끊게 하는
것이 더 신사답지 않을까? 이렇게 하려면 해당 사용자를 선택하고
Kill User 버튼을 누르면 해당 사용자와 접속이 끊긴다.

설정을 모두 마쳤으면 다른 서버에서 Serv-U가 설치된 서버에 ftp
로그인을 해보자. 다음 화면은 넷텀으로 FTP 서버에 접속한 화면
이다. 마치 유닉스 FTP 서버와 같다. 이 정도면 인터넷에 공개해서
자신만의 FTP 서버를 갖는 것도 나름대로 기쁨이 있지 않을까?

사용되는 매크로
★ Time/date
* %Time : 현재 시간 출력
* %Date : 현재 날짜 출력

★ Server statistics
* %UNow : 현재 서버에 접속되어 있는 사용자 수
* %UAll : 서버가 시작한 후 현재까지 총 사용자 수

* %U24h : 24시간 이내 사용자 수
* %ServerDays : 서버가 동작한 후 지난 날짜
* %ServerHours : 서버가 동작한 후 지난 시간
* %ServerMins : 서버가 동작한 후 지난 시간(분 단위)
* %ServerSecs : 서버가 동작한 후 지난 시간(초 단위)
* %ServerKbUp : 서버가 시작한 후 업로드된 파일 크기수
 (킬로바이트 단위)
* %ServerKbDown : 서버가 시작한 후 다운로드된 파일 크기수
  (킬로바이트 단위)
* %ServerFilesUp : 서버가 시작한 후 업로드된 파일 수
* %ServerFilesDown : 서버가 시작한 후 다운로드된 파일 수

★ Server settings
* %MaxUsers  : 서버에 접속할 수 있는 최대 사용자수
* %MaxAnonymous : 서버에 접속할 수 있는 최대  anonymous
  사용자 수

 암호를 잊어버렸을 때

마이크로소프트 네트워크를 설치한 윈도우 95는 시작할 때 로그온하는
대화상자가 나타난다. 그런데 암호를 잊어버렸다면 단순히 esc 버튼을
누르거나 취소 버튼을 선택한다. 그러면 바로 윈도우 95가 시작된다.
그러나 LAN이 구성된 환경이라면 마이크로소프트 네트워크를
로그온하지 못하면 다른 컴퓨터의 자원을 사용할 수 없게 된다. 이런
경우 반드시 로그온을 해야 한다. 윈도우 95의 시스템 디렉토리에
확장자가 pwl인 파일이 있다. 파일 이름은 로그온하는 사용자 이름인
경우가 대부분이다. 이 파일을 찾아 삭제해버리고 다시 부팅을 하고
사용자와 암호를 다시 설정하면 된다.  단축 메뉴의 ‘파일 보내기’
기능 이용하기 탐색기에서나 바탕화면에서 아이콘을 오른쪽 마우스
버튼으로 누르면 단축 메뉴에서 파일 보내기 항목이 있음을 알 수 있다.
이 기능을 이용하면 파일 관리가 쉬워진다.

예를 들어 통신에 보면 파일과 함께 파일을 설명한 문서가 같이 들어
있는 경우가 많다. 그러나 확장자가 txt가 아니라면 메모장을 열고 그
메모장에서 해당 파일을 읽어야 한다. 그렇다고 새로운 파일 형식으로
윈도우에 등록하는 것도 그렇게 시원한 해결책은 아닌 듯싶다. 이때
파일 보내기를 이용해보자. 단축 메뉴의 파일 보내기에 있는 것들은
모두 윈도우 시스템 폴더의 SendTo 폴더에 들어 있다. 즉 이 폴더에
앞서 예를 든 상황에서 메모장의 단축 아이콘을 넣으면 간단하게
파일을 선택하면서 곧바로 메모장을 실행할 수 있다.

                                                         액톤코리아
                                                www.dual.dnet.co.kr