강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

wu-ftpd ( ftpaccess 관련 )

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle08.gif


이 문서를 다른 웹이나 출판물에 게시할 때는 반드시 출처를 밝혀 주시기 바랍니다.

최종 수정일 : 2001년 8월 1일
작성자  :  윤  일 (admin@rootman.org)

HOW-WO Configuration ftpaccess(wu-ftpd)

# 이 강좌는 차후 계속 업그레이드 됩니다.
# ftpaccess 파일의 설정들에 대한 설명은 주석 처리 되어 있습니다.
deny-uid %-99 %65534-
deny-gid %-99 %65534-
allow-uid ftp
allow-gid ftp
# deny-uid에 ftp 접속을 허락하고 싶지 않은 사용자의  uid를 설정하면 그 사용자는 ftp에 접속할 수 없다.
# 하지만 이 파일에 설정하는 것보다 ftpuser 파일에 추가하는 것이 더 편할것이다.
# 이 설정은 단지 보안상의 이유로 접속되어서는 안되는 사용자들을 설정한 것이다.
# /etc/passwd 파일에 설정된 uid 와 gid 1 - 99 까지에 해당하는 사용자는 접속할 수 없다. ('ftp' 제외)
# 이 사용자들은 실제 사용자가 아닌 system user 들이다. (예: bin, demon, mail, uucp등 /etc/passwd파일 참고)

class          all          real,guest,anonymous         *
# 모든 곳에서 접속하는 real, guest, anonymous를 "all" 이라는 클래스로 정의했다.
# wu-ftpd에서는 접속하는 접속자의 유형에 따라 class로 분류함으로써 손쉽게 각 class를 제어할 수 있다.
# class 정의는 다음과 같은 형식을 따른다.
#
# <class>   <class-name>   <type-list>    <IP-Address(또는 host-name)>   
#
# 첫 번째 필드의 "class"는 클래스를 선언하는 지시자이다.
# 두 번째 필드의 "class-name"은 사용하고 싶은 class 이름을 적어주면 된다.
# 세 번째 필드의 "type-list"는 class에 포함할 접속자 유형을 적어주면 된다.
# 2가지 이상의 접속자 유형을 포함시킬 경우 컴마( , )로 구분하다.
# "type-list"에 사용할 수 있는 접속자 유형은 다음과 같다.
# 1) anonymous : 익명(anonymous)ftp로 접속해 오는 사용자
# 2) guest : 손님(guest) 사용자로 처리되는 사용자
# 3) real : 시스템의 계정 사용자
# 네 번쨰 필드의 "IP-Address(또는 host-name)은 class에 포함시킬 접속자의 IP 주소 또는 host 이름을 적어 주면 된다.
# 와일드 카드( * )는 모든 IP 주소를 가리킨다. 여러개의 IP주소를 적을 경우 각 IP 주소는 컴마( , )로 구분한다.
# Class 생성하기 예제
# class     rootman     real     203.241.205.*
# 시스템 계정 사용자(real)들의 ftp 접속중에서 203.241.205의 네트웍 주소를 가진 사용자들을 "rootman" 클래스로 정의한
# 다.

email  yunil@rootman.co.kr
# FTP관리자 e-mail을 적어주면 된다.

loginfails     5
# FTP 로그인시에 loginfails에 적용된 수 만큼 로그인 실패를 하면 FTP 세션이 종료된다.

readme    README*      login
readme    README*      cwd=*
# 아래의 message와 같은 기능을 한다. 번거롭게 README 파일까지 작성할 필요는 없을 것이다.

message    /welcome.msg    login
# 사용자 로그인시에 보여줄 메시지 파일을 정의한다.
# 메시지 파일의 경로를 적어주면 되는데 ftp 홈디렉토리가 최상위( / ) 경로가 된다.
# 최상위( / ) 경로에 welcome.msg 파일이 있을 때는 /를 빼고 파일명만 적어줘도 된다.

message   .message    cwd=*
# 사용자가 디렉토리 이동시에 보여줄 메시지 파일을 정의한다.
# 위에서는 모든 디렉토리 이동시에 .message파일을 보여준다.
# 단, 이동하는 디렉토리안에 .message파일이 존재해야 된다.

compress              yes       all
tar                   yes       all
# 특정 "class"에 대해 compress명령과 tar명령을 지원할 것인지 결정한다.
# 두 개  이상의 클래스에 대해 설정할 때는 컴마( , )로 클래스를 구분하다.
# 설정을 하지 않는다면 기본적으로 "no"로 적용된다.
# 위의 설정은 "all"  클래스에 속하는 접속자들에게 compress 명령과 tar 명령을 사용할 수 있게 한
다.

chmod             no         guest,anonymous
delete            no         anonymous
overwrit          no         anonymous
rename            no         anonymous

# 특정 "class"에 대해 chmod(퍼미션 변경), delete(삭제), overwrite(덮어 쓰기), rename(파일 이름 변경)등의 권한을 줄
# 것인지를 결정한다. 설정을 하지 않는다면 기본적으로 "yes"로 적용된다.

limit all 30 Any /var/ftp/etc/ftp.tomany
# 클래스별로 최대 접속자수를 제한 할 수 있다. 설정 형식은 다음과 같다.
# limit   <class>   <limit-mumber>   <when>   <error-file>
# [when]에는 Any(항상)와 특정 요일이나 특정 시간대에만 limit 옵션이 적용되게 설정할 수 있다.
# 요일을 설정할 땐 Mo(월), Tu(화), We(수), Th(목), Fr(금), Sa(토), Su(일)로 설정해야 된다.
# 요일 예) limit all 30 Sa,Su,Mo /var/ftp/etc/ftp.tomany   --> 요일의 구분은 콤마(,)로 한다.
# 특정 시간을 설정할 땐 0000-0000으로 시간의 범위를 설정해야 된다.
# 첫번째 두자리는 시간(hour)이고 나머지 두자리는 분(minute)에 해당된다.
# 시간 예) limit all 30 0100-0800 /var/ftp/etc/ftp.tomany  --> 01시 부터 08시로 설정
# 요일과 시간을 함께 설정할 수도 있다.
# 요일, 시간 예) limit all 30 Su0100-0800 /var/ftp/etc/ftp.tomany  --> 일요일 01시부터 08시까지로 설정


log tarnsfers anonymous,guest,real inbound,outbound
# ftp 로그기록에 대한 설정이다. 위의 설정은 anonymous, guest, real(계정 사용자)들의 다운로드, 업로드 모든 것을
# /var/log/xferlog 파일에 기록하라는 설정이다.

shutdown  /var/ftp/shutmsg
# shutdown 옵션에 사용할 파일을 지정한다.
# shutdown 으로 지정된 문서를 이용해서 ftp 데몬의 shutdown에 관련된 제어를 할 수 있다.
# shutdown 시간과 새로운 접속자를 받아 들일 시간, 접속된 사용자를 drop할 시간등을 지정할 수 있다.

# --> shutmsg 파일 작성 형식
# <year> <month> <day> <hour> <minute> <deny-offset> <dic_offset> <text>
# 보여줄 메시지에 해당하는 <text>는 한줄 내려서 적는 것이 일반적이다.

# <year> <month> <day> <hour> <minute>로 shutdow 시간을 설정한다.
# <year> : 년도를 4자리수로 설정한다. (예: 2001년 : 2001)
# <month> : 월(month)을 0 ~ 11로 설정한다. 월의 표현은 0부터 시작된다 ( 1월 0, 3월 2, 6월 5)
# <hour> : 시간을 24시 표기로 설정한다. (0 ~ 23)
# <minute> : 분(minute)을 설정한다.(0 ~ 59)

# <deny-offset>
# 새로운 접속자를 받지 않을 시간을 설정한다.
# 4자리수로 표현해야 되고 첫 두자리는 시간(hour) 나머지 두자리는 분(minute)에 해당 된다.(0120 --> 1시간 20분)
# 설정하는 시간은 shutdown 시간으로 부터 before(전)로 계산된다.(0020 --> shutdown 20분전)

# <disc-offset>
# 현재 접속자들을 drop 시킬 시간을 설정한다.
# 4자리수로 표현해야 되고 첫 두자리는 시간(hour) 나머지 두자리는 분(minute)에 해당 된다.(0120 --> 1시간 20분)
# 설정하는 시간은 shutdown 시간으로 부터 before(전)로 계산된다.(0005 --> shutdown 5분전)

# <text>
# 사용자 로그인 시에 shutdown에 대한 정보를 출력시킨다.
# --> <text>에 사용할 수 있는 변수
# %s : shutdown 시간
# %r : 새로운 접속자를 받지 않을 시간
# %d : 접속자들이 drop 될 시간


# /var/ftp/shutmsg 설정 내용

ftpshut2.png


# 접속시에 /var/ftp/shutmsg 내용을 접속자에게 보여준다.

ftpshut.gif


# /var/ftp/shutmsg의 설정 때문에 shutdown(16:30) 20분전부터는 새로운 접속자를 받아 들이지 않는다.

ftpshut3.gif


passwd-check rfc822 warn
# passwd-check  <password 조건>  <action>
# 이 설정은 anonymous 접속자의 passwd에 대한 설정부분이다.
# <password 조건>
# none    : anonymous접속자들의 패스워드 체크를 하지 않는다.
# trivial : 패스워드에 @(at) 문자가 포함되어 있는지만 체트한다.
# rfc822  : rfc822 에서 정의한 것을 체크한다. rfc822 설정은 정확한 email을 기입하라는 것으로 이해해도 된다.
#           frc822에 관한 자세한 설명은 검색 사이트에서 rfc822에 대해 검색해 보면 여러가지 문서들이 검색될 것이다.
# <action>
# warn    : 접속자가 <password 조건>을 지키지 않은면 경고를 메시지를 보내고 접속은 허락한다.
# enforce : 접속자가 <password 조건>을 지키지 않은면 접속을 허락하지 않는다.
 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,045 명
  • 현재 강좌수 :  35,861 개
  • 현재 접속자 :  73 명