Proftp 설정
기본적으로 레뎃에서는 vsftp를 제공한다.
vs는 바로 very security의 약자로, 무지 보안성이 뛰어난 ftp이다.
고로 vsftpd.conf파일은 무지 복잡하다 = _=)
따라서 조금은 쉬운 설정인 proftp를 깔고 그 설정법을 알아보도록 하자.
(나 같으면 proftp 안쓴다. 일단 접속이 느린게 맘에 안든다.)
ServerName "서버
이름"
ServerType standalone
DefaultServer on
ServerAdmin
root@localhost
UseReverseDNS off
IdentLookups off
# Server에 접속했을
경우 보내주는 Defualt 메세지를 설정한다. Off로 지정
# 하였을 경우 Porftpd Server Ready
ServerName 이 출력된다.
ServerIdent On "welcome DUNET FTP
Server!!!"
#
User login을 했을시에 user들이 자신의 홈 상위 디렉토리들을 마음대로
# 돌아다니지 못하게 chroot()를 설정한다. group별로
설정을 하게 되며
# "!"는
제외하라는 의미를 가지게 된다.
DefaultRoot ~ !groupname
<-여기에서 ~는 홈디렉토리를
뜻함
# ServerType이 standalone이면 이 항목의 주석을
풀어 줘야 한다.
# inetd로
작동을 시킬시에는 /etc/services에서 port를 지정한다.
Port 21
# root login을 허락할지의 여부를 지정한다. PAM
modules를 사용한다면
# 먼저
/etc/proftpd/conf/ftpusers에서 root를 삭제해야 한다.
RootLogin off
# Global section은 proftpd의 전체적인 설정에
모두 적용시킨다.
# group과 world writable로 부터 새로운 dir과
file들을 생성하는 것을
#
막기위하여 기본적으로 umask는 022로 설정을 한다.
Umask 022
# ftpusers file을 이용하여 PAM인증을 하기를 원하면
이 지시자의
# 값을 on으로
한다. default 값은 off 이다.
AuthPAMAuthoritative on
# service를 시작하고
마칠 시간을 24시간 표기법으로 지정을 한다
# UpTime 10
# DownTime 23
# 1.2.1 이하 버젼에서의 버그를 위한 설정
DenyFilter *.*/
# 9시간 이전으로 나오는
문제 수정.
TimesGMT off
# 회선의 Bandwidth를 특정 속도로 제한을 한다. 단위는
bps이다.
#RateReadBPS
256
#RateReadFreeBytes 5120
#RateReadHardBPS on
# 접속 대기 시간을
설정한다. user 가 접속후 아무 작동도 안할때 일정 시간후에
# 접속이 종료되게 한다
TimeoutIdle 600
TimeoutNoTransfer 600
TimeoutLogin 0
# DeferWelcome
는 client가 인증을 하기 전에 servername을 display하는
# 것을 방지한다.
DeferWelcome off
# 'welcome.msg는
login시에 보여지고, 'message'는 각 하위 디렉토리에 접속
# 했을때 보여지게 된다.
DisplayLogin
/etc/proftpd/conf/welcome.msg
DisplayFirstChdir .message
# DoS 공격을 막기
위해, 자식 process의 maximun number를 30으로 설정한다.
# 만약 30이상의 접속을 허락할 필요가 있다면 간단하게 이
치수를 증가시키도록
# 한다.
이것은 오직 standalone mode에서만 가능하다. inetd mode에서는
# service 당 maximun number를 제한 하는 것을
허락하는 inetd server에서
# 설정을 해야 한다.(xintd 역시 마찬가지 이다)
MaxInstances 30
User nobody
Group nobody
# 일반적으로 file들을
overwrite를 가능하게 한다.
# ls 명령어의 -a option으로 hidden file을
볼수 있게 한다.
#
LsDefaultOptions "-a"
User ftp
Group ftp
# Anonymous user가 ftp로 접근하여 shell의
권한을 얻는 것을
# 방지한다.
RequireValidShell
off
# Anonymous
접근을 할때 특정 password를 지정할수 있다.
# 단 위의 User 지시자의 name이 passwd file에
등록이 되어져
# 있어야 한다. 이
지시자가 on일 경우 이메일 주소로 login을
# 할수 없다.
# AnonRequirePassword on
# ShowSymlinks off
# User name
"ftp"로 anonymous login을 할수 있도록 한다
UserAlias anonymous ftp
DisplayFirstChdir
.message
# 최대
접속 인원수를 지정한다.
MaxClients 10
# 하나의 계정ID로 동시에 접근할수 있는 호스트 수를 지정한다.
# 아래의 기본 설정으로는 하나의
계정 하나 호스트에서만 접근만 허용한다.
# 하나의 계정에 하나의 접근만을 허락하려면 위의
MaxClientsPerHost의
# 값과 MaxHostsPerUser의 값이 둘다 1이면 된다.
MaxHostsPerUser 1
"Sorry, one hosts allow per one user"
# 소유권이 root인 file이나 directory들을 보여주지
않는다
#HideUser root
# 그룹권한이 root인
file이나 directory들을 보여주지 않는다
#HideGroup root
# upload/download 비율을 지원한다.
#
/usr/doc/proftpd-1.2$VERSION/mod_ratio.c를 참조하라
#
# Ratios on
# HostRatio foobar.net 100 10 5
100000
# 서버를
시간대로 운영하는 것을 지정한다.
# 아래의 예는 오후 3시 부터 오후 6시까지만
# 서버의 접속을 가능하게 한다.
#
# UpTime 15
# DownTime 18
DenyAll