# 번역 : 김정균 < admin@oops.org >
# 잘못된 설정이 있으면 연락 주시기 바랍니다.
#########################################################################
ServerName "Proftpd FTP Server For Korean"
# ServerType 은 Server 를 standalone mode 로 할것인지 inet mode로 할것 인
# 지를 정한다. default로 inetd mode로 한다. standalone mode로 할경우 아래
# MaxInstances 지시자의 주석을 해제 한다. inetd mode로 작동을 할 경우에는
# /etc/inetd.conf중에서
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
# 행을 아래와 같이
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
# 수정을 해 주고 Inet demon을 재 실행 해 줘야 한다.
ServerType standalone
#ServerType inetd
DefaultServer on
ServerAdmin root@localhost
UseReverseDNS off
IdentLookups off
# Server 에 접속했을 경우 보내주는 Defualt 메세지를 설정한다. Off 로 지정
# 하였을 경우 Porftpd Server Ready ServerName 이 출력된다.
ServerIdent On "PorFTPd Account Server ready .. "
# User login 을 했을시에 user 들이 자신의 홈상위 디렉토리들을 마음대로 돌
# 아다니지 못하게 chroot() 를 설정한다. group 별로 설정을 하게 되며 "!"는
# 제외하라는 의미를 가지게 된다.
#DefaultRoot ~ !groupname
# ServerType이 standalone이면 이 항목의 주석을 풀어 줘야 한다. inetd로 작
# 동을 시킬시에는 /etc/services에서 port를 지정한다.
Port 21
# root login 을 허락할지의 여부를 지정한다. PAM modules를 사용한다면 먼저
# /etc/proftpd/ftpusers에서 root를 삭제해야 한다.
# http://www.oops.org/SERVICE/jsboard/read.php?table=ProftpdTip&no=10 참조
RootLogin off
# Global section은 proftpd의 전체적인 설정에 모두 적용시킨다.
<Global>
# group 과 world writable 로 부터 새로운 dir 과 file 들을 생성하는 것을
# 막기위하여 기본적으로 umask는 022로 설정을 한다.
Umask 022
# ftpusers file을 이용하여 PAM 인증을 하기를 원하면 이 지시자의 값을 on
# 으로 한다. default 값은 off 이다.
AuthPAMAuthoritative on
# service를 시작하고 마칠 시간을 24시간 표기법으로 지정을 한다
# UpTime 10
# DownTime 23
# Server 의 Ftpd 시간을 지역시간으로 고정한다. on 으로 했을 경우 GMT 시
# 간을 표시 하기 때문에 한국의 경우 9시간의 오차가 발생한다.
TimesGMT off
# 1.2.1 이하 버젼에서의 버그를 위한 설정
DenyFilter \*.*/
</Global>
# 회선의 Bandwidth를 특정 속도로 제한을 한다. 단위는 bps이다.
#RateReadBPS 256
#RateReadFreeBytes 5120
#RateReadHardBPS on
# 최대 접속 인원수를 지정한다.
MaxClients 10
# 하나의 호스트로 부터 동시에 접근할 수 있는 수를 지정한다. 아래의 기본
# 설정으로는 하나의 호스트에서 한번의 접근만 허용한다.
#MaxClientsPerHost 3 "Sorry, %m connection allow per one host"
# 하나의 계정 ID 로 동시에 접근할 수 있는 호스트 수를 지정 한다. 아래의
# 기본 설정으로는 하나의 계정 하나 호스트에서만 접근만 허용한다. 하나의
# 계정에 하나의 접근만을 허락하려면 위의 MaxClientsPerHost의 값과
# MaxHostsPerUser의 값이 둘다 1이면 된다.
#MaxHostsPerUser 1 "Sorry, %m hosts allow per one user"
# 접속 대기시간을 설정한다. user 가 접속후 아무 작동도 안할때 일정 시간후
# 에 접속이 종료되게 한다
TimeoutIdle 900
TimeoutNoTransfer 900
TimeoutLogin 300
# DeferWelcome 는 client가 인증을 하기 전에 servername을 display하는 것을
# 방지한다.
DeferWelcome off
# 'welcome.msg 는 login 시에 보여지고, 'message' 는 각 하위 디렉토리에 접
# 속 했을때 보여지게 된다.
DisplayLogin /etc/proftpd/welcome.msg
DisplayFirstChdir .message
# DoS(Denial Of Service) 공격을 막기 위해, 자식 process 의 maximun number
# 를 30 으로 설정한다. 만약 30이상의 접속을 허락할 필요가 있다면 간단하게
# 이 치수를 증가 시키도록 한다. 이것은 오직 standalone mode 에서만 가능하
# 다. inetd mode 에서는 service 당 maximun number를 제한 하는 것을 허락하
# 는 inetd server에서 설정을 해야 한다.(xintd 역시 마찬가지 이다)
# MaxInstances 30
User nobody
Group nobody
# 일반적으로 file들을 overwrite를 가능하게 한다.
<Directory /*>
AllowOverwrite on
</Directory>
# ls 명령어의 -a option으로 hidden file을 볼수 있게 한다.
# LsDefaultOptions "-a"
<Anonymous ~ftp>
# User ftp
# Group ftp
# /etc/shells 에 등록되어 있는 shell 이 지정되어 있는 유저들만 로그인이
# 가능하게 한다. ftp user 의 shell 이 보통 /bin/false 로 지정이 되어 있
# 으므로 이 값을 off 로 해준다.
RequireValidShell off
# 익명 접근을 할때 특정 password를 지정할수 있다. 단 위의 User 지시자의
# name이 passwd file에 등록이 되어져 있어야 한다. 이 지시자가 on일 경우
# 이메일 주소로 login을 할수 없다.
# AnonRequirePassword on
# ShowSymlinks off
# User name "ftp"로 anonymous login을 할수 있도록 한다
UserAlias anonymous ftp
<Limit LOGIN>
AllowAll
</Limit>
DisplayLogin welcome.msg
DisplayFirstChdir .message
# 최대 접속 인원수를 지정한다.
MaxClients 10
# 하나의 호스트로 부터 동시에 접근할 수 있는 수를 지정한다. 아래의 기본
# 설정으로는 하나의 호스트에서 한번의 접근만 허용한다.
MaxClientsPerHost 3 "Sorry, 3 connection allow per one host"
# 소유권이 root인 file이나 directory들을 보여주지 않는다
#HideUser root
# 그룹권한이 root인 file이나 directory들을 보여주지 않는다
#HideGroup root
# upload/download 비율을 지원한다.
# http://www.oops.org/SERVICE/jsboard/read.php?table=ProftpdTip&no=9 참조
#
# Ratios on
# HostRatio foobar.net 100 10 5 100000
# 서버를 시간대로 운영하는 것을 지정한다. 아래의 예는 오후 3 시 부터 오
# 후 6시까지만 서버의 접속을 가능하게 한다.
#
# UpTime 15
# DownTime 18
<Limit WRITE>
DenyAll
</Limit>
# Upload directory, allow upload and mkdir, deny download.
# Upload directory 설정이다. upload와 mkdir은 허락하며,
# download는 거절한다
#
# <Directory incoming>
# <Limit READ>
# DenyALL
# </Limit>
# <Limit STOR MKD>
# AllowALL
# </Limit>
# </Directory>
# 사용자가 접근하기를 원하지 않는 private directory
# <Directory logs>
# <Limit READ WRITE DIRS>
# DenyAll
# </Limit>
# </Directory>
</Anonymous>