Linux (X86) 자료실 - 포기하지 않으면 실패하지 않는다!
Vote Modify Delete Forward Prev Next List

  작성자   : 조성환 [ ladmin ] 추천: 2598, 수정: 3, 내려받기: 1968, 조회: 6936, 줄수: 150, 분류: Etc.
ProFTPd 의 기본적인 세팅
내려받기 : proftpd-1.2.2.tar.gz (590646 바이트)
내려받기 : proftpd-1.2.5kr.tar.gz (828736 바이트)
내려받기 : proftpd-1.2.8.tar.gz (966281 바이트)


먼저, Proftpd 데몬 프로세스의 사용자를 등록하고 설치된 설정파일을 수정한다.

[ root@linux proftpd-1.2.5 ]# useradd -u 90 -c “ProFTPd Daemon User” -d / -r \
> -s /sbin/false proftpd

[ root@linux proftpd-1.2.5 ]# grep proftpd /etc/{passwd,group}
/etc/passwd:proftpd:x:90:90:ProFTPd Daemon User:/:/sbin/false
/etc/group:proftpd:x:90:

[ root@linux proftpd-1.2.5 ]# vi /etc/proftpd.conf
...
25 User                proftpd
26 Group               proftpd
...

Proftpd 역시, 사용자에 대한 인증처리를 위해서 PAM을 사용하고 있으므로 PAM의
설정파일을 작성한다.

[ root@linux proftpd-1.2.5 ]# install -m644 contrib/dist/rpm/ftp.pamd /etc/pam.d/ftp

[ root@linux proftpd-1.2.5 ]# cat /etc/pam.d/ftp
#%PAM-1.0
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers
onerr=succeed
auth required /lib/security/pam_pwdb.so shadow nullok

# If this is enabled, anonymous logins will fail because the 'ftp' user does
# not have a "valid" shell, as listed in /etc/shells.
#
# If you enable this, it is recommended that you do *not* give the 'ftp'
# user a real shell. Instead, give the 'ftp' user /bin/false for a shell and
# add /bin/false to /etc/shells.
#auth       required    /lib/security/pam_shells.so

account    required     /lib/security/pam_pwdb.so
session    required     /lib/security/pam_pwdb.so

Proftpd 역시, Wu-ftpd와 마찬가지로 /etc/ftpusers 파일을 이용해서 시스템 사용자로의 ftp
접근을 금지하고 있으므로 해당파일을 생성한다.

[ root@linux proftpd-1.2.5 ]# vi /etc/ftpusers
root
bin
daemon
lp
sync
mail
nobody
vcsa
mailnull
rpm
rpc
rpcuser
nscd
ident
radvd
pcap
mysql
apache
named
proftpd

III.Proftpd 서버의 구동

proftpd 서버 역시, standalone과 inetd에 의한 구동을 지원하고 있다. 사이트의 성격에 맞게
선택해서 구동하면 될 것이다. 먼저, standalone 구동을 살펴보자.

III-1. Standalone 구동

기본적으로 제공되는 설정파일은 standalone으로 구동하기 위한 설정으로 마춰져 있으므로
설정사항은 그대로 사용하면 되며, 구동을 제어하는 스크립트를 작성하고 rc에 의해
구동되도록 서비스를 등록한다.

[ root@linux proftpd-1.2.5 ]# vi /etc/proftpd.conf
...
6 ServerName "ProFTPD Default Installation"
7 ServerType standalone
8 DefaultServer on
9
11 Port  21
...
22 MaxInstances 30
...

[ root@linux proftpd-1.2.5 ]# install -m700 contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd

[ root@linux proftpd-1.2.5 ]# service proftpd start
Starting proftpd:                                          [  확인  ]

[ root@linux proftpd-1.2.5 ]# ps -ef | grep proftpd
proftpd   1023     1  0 15:33 ?        00:00:00 proftpd (accepting connections)

[ root@linux proftpd-1.2.5 ]# netstat-nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN

[ root@linux proftpd-1.2.5 ]# chkconfig ?-add proftpd
[ root@linux proftpd-1.2.5 ]# chkconfig ?-list proftpd
proftpd         0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제

III-2. Xinetd에 의한 구동

standalone으로 구동하는 방식은 응답속도는 빠르지만 FTP 서버가 빈번하게 사용되지 않는
경우는 리소스만 낭비하게 되므로 이럴때는 inetd에 의해서 구동하는 방식을 이용하는 것이
좋다. RedHat 배포판은 Xinetd를 사용하고 있으므로 이를 이용해서 구동하도록 한다.

[ root@linux proftpd-1.2.5 ]# vi /etc/proftpd.conf
...
6 ServerName "ProFTPD Default Installation"
7 ServerType inetd
8 DefaultServer on
9
11 Port  21
...
22 #MaxInstances 30
...

[ root@linux proftpd-1.2.5 ]# vi /etc/xinetd.d/proftpd
service ftp
{
  flags            = REUSE
  socket_type      = stream
  instances        = 50
  wait             = no
  user             = root
  server           = /usr/sbin/proftpd
  log_on_success   = HOST PID
  log_on_failure   = HOST RECORD
  disable          = no
}

[ root@linux proftpd-1.2.5 ]# service xinetd restart
xinetd 를 정지함:                                          [  확인  ]
xinetd (을)를 시작합니다:                                  [  확인  ]

[ root@linux proftpd-1.2.5 ]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address       Foreign Address         State      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN



이전: OpenSSH 설치하기
다음: Red Hat Linux release 7.1kr & 7.2kr proftpd
2003/04/29(19:22) from 211.211.26.254
CrazyWWWBoard 2000

Vote Modify Delete Forward Prev Next List
(c) Nobreak Technologies, Inc.