RedHat Linux >> Server Administration for Redhat Linux
|
[목차] |
제6장 FTP 서버
3. FTP 서버 구축을 위한 환경 설정 과 접속하기 1. FTP 서버 구축을 위한 환경 설정
바이너리 패키지(rpm 또는 데비안 패키지)를 설치한 경우엔 별 설정없이 ftp를 설치한 후 바로 이용할 수 있다. 그러나, anonymous와 같은 익명의 FTP를 이용하기 위해선 proftpd.conf 설정을 수정할 필요가 있다. 소스를 설치할 경우라면, 아직 ftp를 이용할 수 없을 것이다. 리눅스 서버 구축을 연재하면서 서버가 동작하는 방식에 대한 서버 타입에 대해 소개한 적이 있다. inetd를 이용하는 것과 standalone이 바로 그것이다. inetd를 또 다른 말로 수퍼데몬이라고도 하는데, 서비스 요청이 들어오면 해당 서비스를 구동시킨다. inetd을 이용하면, 서비스 요청이 있을 때만 해당 서비스를 구동시키므로, 시스템 리소스를 효과적으로 이용할 수 있다. tcp wrapper(hosts.deny와 hosts.allow을 이용해 특정 ip나 도매인의 접속을 제한하거나 허가할 수 있다)을 이용할 수도 있다. 단, inetd을 이용함으로써 서비스 응답 속도가 조금 느려지는 단점이 있다. standalone은 해당 서비스에 대한 데몬이 직접 서비스 요청에 대해 감시하며, 응답하는 방식이다. 서비스에 대한 응답 속도가 빠르지만, 항상 데몬이 동작하고 있어야만 한다. 일반적으로 ftp 서비스는 inetd을 이용한다(데비안의 경우엔 standalone으로 동작한다). ftp의 특성상 빈번한 접속을 요구하는 것이 아니며, 한번접속하면 일정시간 접속이 유지된다. 따라서, inetd로도 효과적인 서비스가 가능하다. inetd을 이용하려면, /etc/inetd.conf에 다음과 같은 라인을 추가하면 된다.
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
소스를 설치할 경우라면. /usr/local/sbin/in.proftpd가 위치하므로, 다음과 같이 수정하면 된다.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/in.proftpd
그리고 proftpd.conf 설정에서 ServerType 지시자를 찾아 다음과 같이 수정한다.
ServerType inetd
그리고 inetd을 다시 시작하면 된다. 레드햇 계열의 배포판은
/etc/rc.d/init.d/inet restart
데비안은,
/etc/init.d/inet restart
또는, inetd이 동작하고 있는 경우 프로세스 아이디를 알아내어 SIGHUP 시근널을 주면 된다.
# ps aux | grep inetd root 30119 0.0. 0.0 1394 64 ? S Mar05 0:00 inetd # kill -1 30119
30119가 inetd의 프로세스 아이디며, kill -1이 inetd 프로세스에 SIGHUP 시그널을 보내는 것이다. 이렇게 하면, inetd를 다시 시작하는 것과 같다. 솔라리스와 같은 다른 유닉스에서도 이와같이 하면 되며, ps aux대신 ps -ef|grep inetd라고 해야 할 것이다. proftpd를 inetd을 이용하지 않고 standalone으로 이용하려면, inetd에서 ftp를 정의할 필요가 없다. 이 경우엔 inetd.conf에서 ftp에 대한 부분을 주석 처리해 준다. 그리고 proftpd.conf에서 ServerType을 standalone으로 지정한 후, proftpd를 실행하면 된다. 배포판 패키지를 설치한 경우엔, /etc/rc.d/init.d/ 또는 /etc/init.d에서 ./proftpd start라고 해주면 된다.
# cd /etc/rc.d/init.d/ # ./proftpd start
2. FTP 접속
기본적인 FTP 서버를 위한 준비가 끝났다. ProFTPd가 제대로 동작하는지 확인하려면, ftp localhost라고 하면 된다. 다음 메시지를 볼 수 있다면, ftp가 정상으로 동작하고 있는 것이다(메시지는 실제 여러분이 보는 것과 약간 다를 수 있다).
[root@leelab ~]# ftp localhost Connected to localhost, 220 ProFTPD FTP Server (LEELAB Installation) [www.leelab.co.kr] Name (localhost:root) :
만약, 위의 메시지를 볼수 없다면, ProFTPd 데몬이 정상으로 동작하지 않는 경우이다. 이럴 때는 위에서 지시한 대호 했는지 다시 한번 확인해 보기 바란다.
|
[목차] |