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 을 줄여서 쓰는 것으로 통용이 된다.
1. ftpaccess <1>
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
class all real,guest,anonymous *
은 "all 이라는 group은 모든 지역에서 들어오는 사용자들에게 real, guest,
anonymous mode로 접속할수 있다." 라고 정의를 내리는 것이다.
이렇듯 class 명령을 이용해서 접속 IP address 별로 어떤 권한으로 ftp 접속을
하게 할것인지 설정을 해 줄수 있는 것이며, 또한 각종 기능 권한 허가에 이 class를
이용해서 차별적으로 권한을 부여할수가 있다..
[ class ]
[ class ] 는 class를 정의하고자 하는 이름을 정하면 된다. 즉 group name이라고
생각하면 되겠다. 이 이름은 임의로 작성이 가능하며 Wu-ftpd 에서는 기본적으로
all 이라는 class가 모든곳으로 부터 접속하는 user에 대해 정의하고 있다.
[ typelist ]
접속하는 user의 유형을 정의한다. qnonymous, guest, real 의 세가지 권한이
있으며 class마다 어떤 권한으로 접속을 할것인지를 적어주면 된다. 여러 권한을
주고 싶으면 콤마로 구분하여 연속적으로 적어주면 된다. 콤마 사이에는 space를
하지 말아야 한다.
- anonymous
anonymous 또는 ftp라는 이름으로 ftp root만 접근할수 있는 유형을 말한다.
- guest
손님 사용자로 처리되는 사용자를 말하며 guestgroup이라는 명령에서 정의를 한다.
- real
accout가 존재하는 user들이 자신의 accout로 FTP 접속을 하도록 한다.
[ addrglob ]
어디서 부터 접근하는가를 나타내는 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>
|