BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Ftpd > Ftpd-1  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



Wu-FTPd Configuration For RedHat Linux
이번 강좌는 FTP 운영에 대해서 하고자한다. 이 강좌는 ftpd manpage 와 이만용씨의
FTP 강좌를 참조로 작성 되어졌음을 명시한다. 여기서 설명을 할 daemon 은 REDHAT
기반의 Washington Univ. 에서 개발된 Wu-FTPd 로서 하고자한다. 이 daemon 을 사용
하고자 할때 특히 anonymous 를 열어놓고자 할때는 절대적으로 2.6.1 이후의 버젼을
사용 하도록 권장한다. 될수 있으면 현재 가장 최신의 version 을 사용 하기를 권장
한다.

Wu-FTPd는 /etc/ftpaccess, /etc/ftphosts, /etc/ftpusers 세개의 설정 file로 구성
되어 있다. 또한 REDAHT 기반에서의 ftp server 운영은 inetd 에 의해 작동 하게끔
기본적으로 설정이 되어 있는 것으로 알고 있다.

Wu-FTPd 의 설치에 대해서는 나도 잘 모른다. 다만 REDHAT 사용자라면 RPM package
를 이용해서 설치를 하면 되겠다. 간단하게 RPM package 를 받아와서 

    rpm -Uhv wu-ftpd-2.6.x-x.i386.rpm

이라는 명령어로 간단하게 설치가 된다. 그럼 file 하나하나 씩을 살펴 보도록 하겠 다. 참고) daemon 이라는 것이 뭘까? Daemon 은 항상 메모리상에 상주를 하면서 특정한 요청이 오면 그 요청을 적절하게 처리할수 있도록 전달을 하는 program (엄밀히 말하면 process) 이다. FTPd 라고 표 현을 하는 것은 FTP daemon 을 줄여서 쓰는 것으로 통용이 된다.



 Hanterm - cat /etc/ftpaccess

 [root@bbuwoo etc]$ cat /etc/ftpaccess              

    class   all   real,guest,anonymous  *

    email admin@ftp.ooops.kr.net

    loginfails 5

    readme  README*    login
    readme  README*    cwd=*

    message /welcome.msg            login
    message .message                cwd=*
    message /forbidden.msg          cwd=/bin

    compress        yes             all
    tar             yes             all
    chmod           no              guest,anonymous      
    delete          no              guest,anonymous
    overwrite       no              guest,anonymous
    rename          no              guest,anonymous

    log transfers anonymous,real inbound,outbound

    limit all 10 Su0800-1800,Mo,Tu,We,Th,Fr,Sa  /ftp.tomany    

    shutdown /etc/shutmsg

    passwd-check rfc822 warn

[root@bbuwoo etc]$

ftpaccess file에 대해서 하나하나 씩 집어서 설명을 해보겠다.

  • class
    • FPT server에 접근하는 사용자의 class를 정의하는 명령어로 아래와 같은 형식으로 지정을 한다.

      .....class ..... [ class ] ..... [ typelist ] ..... [ addrglob ]

      간단하게 ftpaccess file의

          class	all	real,guest,anonymous		*

      은 "all 이라는 group은 모든 지역에서 들어오는 사용자들에게 real, guest, anonymous mode로 접속할수 있다." 라고 정의를 내리는 것이다.

      이렇듯 class 명령을 이용해서 접속 IP address 별로 어떤 권한으로 ftp 접속을 하게 할것인지 설정을 해 줄수 있는 것이며, 또한 각종 기능 권한 허가에 이 class를 이용해서 차별적으로 권한을 부여할수가 있다..

      [ class ] 는 class를 정의하고자 하는 이름을 정하면 된다. 즉 group name이라고 생각하면 되겠다. 이 이름은 임의로 작성이 가능하며 Wu-ftpd 에서는 기본적으로 all 이라는 class가 모든곳으로 부터 접속하는 user에 대해 정의하고 있다.

      접속하는 user의 유형을 정의한다. qnonymous, guest, real 의 세가지 권한이 있으며 class마다 어떤 권한으로 접속을 할것인지를 적어주면 된다. 여러 권한을 주고 싶으면 콤마로 구분하여 연속적으로 적어주면 된다. 콤마 사이에는 space를 하지 말아야 한다.

      • anonymous
        anonymous 또는 ftp라는 이름으로 ftp root만 접근할수 있는 유형을 말한다.
      • guest
        손님 사용자로 처리되는 사용자를 말하며 guestgroup이라는 명령에서 정의를 한다.
      • real
        accout가 존재하는 user들이 자신의 accout로 FTP 접속을 하도록 한다.

      어디서 부터 접근하는가를 나타내는 ip address 를 적어 주면 된다.

          class	bbuwoo	real	210.165.254.*,168.126.54.*

      위의 설정은 "210.165.254.*와 168.126.54.* 에서 접근 하는 user들은 bbuwoo class로 정의를 하며 real mode로 접근을 하도록 한다." 라는 정의로 여기에서 정의된 IP address 에서 접근을 하는 user들은 anonymous와 guest 접근이 허가 되지를 않게 되는것이다.

  • email

      FTP 관리자의 E-mail address를 적어 주면 된다.

  • loginfails

      여기에 지정한 값(숫자) 이상으로 login을 실패하면 repeated login failures 메세지를 남기고 session을 종료시킨다. Wu-ftpd에서는 기본값을 5회로 정의를 하고 있다.

  • message

      FTP에 접속을 했을때 나타나는 메세지나 각 디렉토리 별로 나타나는 메세지를 본적이 있을 것이다. 이것들이 바로 여기에서 정의를 내려 진다. 일단 기본적으로 login, cwd="directory"의 두가지의 형태로 정의를 내린다. 위의 예제를 보도록 하자.
          message /welcome.msg            login
          message .message                cwd=*
          message /forbidden.msg          cwd=/bin

      첫번째 line은 ftp login을 했을때 보여주는 top message라고 생각하면 된다. /welcom.msg 에서 "/"는 accout상의 "/" 가 아니라 ftp root라는 것을 명심 하기 바란다. 즉 실제 경로는 /home/ftp/welcom.msg 가 되는 것이다.

      두번째 line은 각각의 directory로 이동했을때 보여주는 message이다. 뒷부분의 cwd= 에 적은 경로에 들어 갔을때를 지정하는데 여기에서는 "*" , 즉 모든 directory를 지정했으므로 어떤 메세지를 보여주고 싶은 directory 마다 .message라는 file을 만들면 된다.

      세번째 line은 특정 directory로 접근을 했을때 보여주는 메세지를 정의한다. 여기에서는 /bin 이라는 directory에 접근을 했을때 /home/ftp/bin 이라는 directory에 있는 borbidden.msg 라는 file을 출력하라는 것이다.



    >> 다음 : Configuration - ftpaccess <2>



  •     



     Home > Lecture > Ftpd > Ftpd-1

    Copyright 1997-2024 JoungKyun Kim 
    LAST MODIFIED: 2017/01/18