anony configuration 설정 예제 작성 : 김정균 <admin [at] oops [dot] org> 
# 번역 : 김정균 <admin [at] oops [dot] org>
# 잘못된 설정이 있으면 연락 주시기 바랍니다.

# 이 sample 설정 file은 2개의 anonymous directory와 guest를
# 보여준다. ( anonymous 뿐 아니라 login을 위한 인증된 password를
# 요구하게 된다 )
ServerName "ProFTPD Anonymous Server"
ServerType standalone

# Port 21 은 FTP 의 기본 port이다
Port 21

# nomal user가 login하는 것을 원하지 않는다면 아래 section의
# 주석 처리를 풀어버려야 한다
#<Limit LOGIN>
# DenyAll
#</Limit>

# Server가 실행하는데 일반적으로 user와 group을 설정한다
User nobody
Group nogroup

# DoS 공격을 막기 위해, 자식 process의 maximun number를 30으로 설정한다.
# 만약 30이상의 접속을 허락할 필요가 있다면 간단하게 이 치수를 증가시키도록
# 한다. 이것은 오직 standalone mode에서만 가능하다. inetd mode에서는
# service 당 maximun number를 제한 하는 것을 허락하는 inetd server에서
# 설정을 해야 한다.(xintd 역시 마찬가지 이다)
MaxInstances 30

# 접속이 stall이 될때 최대 유지 시간을 설정한다.
TimeoutIdle 300

# 'welcome.msg는 login시에 보여지고, 'message'는 각 하위 디렉토리에 접속
# 했을때 보여지게 된다
DisplayLogin welcome.msg
DisplayFirstChdir .message

# "basic" anonymous 설정에는 하나의 upload directory("uploads")를
# 포함한다
<Anonymous ~ftp>

# 위에서 namal user의 접속을 거부하였다면 anonymous의 noaml user의 접속을
# 허락하게 한다
<Limit LOGIN>
AllowAll
</Limit>

# 최대 접속자를 메세지와 함께 정의한다
MaxClients 5 "Sorry, max %m users -- try again later"

User ftp
Group ftp

# anonymous user name으로 ftp user의 권한과 같이 login이 가능하게 한다
UserAlias anonymous ftp

# Anonymous chroot에서 모든곳의 WRITE를 제한한다
<Limit WRITE>
DenyAll
</Limit>

# upload directory는 file을 저장할수는 있지만 directory를 생성하거나
# 수정할 수는 없다
<Directory uploads/*>
<Limit READ>
DenyAll
</Limit>

<Limit STOR>
AllowAll
</Limit>
</Directory>

</Anonymous>

# 두번째 anonymous ftp section~_?. User들은 "private"로 login 할수 있다.
# 여기서 어떤 조작으로 부터 root 소유권을 가진 file들을 숨길수 있다.

<Anonymous /usr/local/private>
User bobf
Group users
UserAlias private bobf
UserAlias engineering bobf

# *.evil.net 과 *.otherevil.net에서의 접근을 거부하고 다른 모든곳의 접근은
# 허락한다
<Limit LOGIN>
Order deny,allow
Deny from .evil.net, .otherevil.net
Allow from all
</Limit>

# 모든 upload file들은 'engdept' group의 소유권을 가지며, 이 group만이
# 쓰기가 가능하다
GroupOwner engdept
Umask 007

# 'root'의 소유권을 가진 file들을 숨긴다
HideUser root

<Limit WRITE>
DenyAll
</Limit>

# 모든 hidden file에 접근하는 것을 허락하지 않는다
<Limit READ DIRS>
IgnoreHidden on
</Limit>

# submission/public 에 새로운 upload와 새로운 directory를
# 만드는 것을 허락한다

<Directory submissions/public>
<Limit READ>
DenyAll
IgnoreHidden on
</Limit>

<Limit STOR MKD RMD>
AllowAll
IgnoreHidden on
</Limit>
</Directory>

</Anonymous>

# 마지막 anonymous 예는 client들이 자신들이 알고 있는 user의 password로서
# 인증을 할수 있는 "guest" 계정을 생성한다.

<Anonymous ~guest>

User guest
Group nobody
AnonRequirePassword on

<Limit LOGIN>
AllowAll
</Limit>

# 믿을수 있는 hosts에서의 접근을 제외하고 wirte를 거부한다.

<Limit WRITE>
Order allow,deny
Allow from 10.0.0.
Deny from all
</Limit>

</Anonymous>

관련 링크: http://proftpd.oops.org/

+ Recent posts