Provided by: manpages-ko_20050219-0.3_all bug

Informational Capabilities

       greeting full|brief|terse

       greeting text <message>

            remote user가  login  하기  전에  얼마나  많은  정보를  보여줄지를
            설정할수  있다.  'greeting  full'이  기본이며,  hostname과  daemon
            version을 보여준다. 'greeting brief'는 hostname을 보여준다.   비록
            full이 기본이지만 brief도 많이 사용되어 진다.

            원한다면  'text'  형태로도  지정을 할수가 있다. <message>는 어떠한
            문자영사용할수있다. whitespace(공백문자 와 tab)은 하나의  single
            space로 변환된다.

       banner <path>

            banner는  user가  username/password를  입력하기 전에 출력이 된다는
            것을 제외하고는 message  명령과  유사하게  작동을  한다.  <path>는
            anonymous  FTP  directory  의 base(/home/ftp)가 아니라 real system
            root를 기준으로 한다.

       WARNING: 이 명령을 사용하는 것은 FTP server의  사용을  표시하는  것으로
       부터  좋지  않은  의도의  FTP  client들을  완전하게  막을수 있다.  모든
       client들이 multi-line 응답들을  조정할수  있는  것은  아니다.   (어떻게
       banner들이 출력 되어지는지 )

       hostname <some.host.name>

            ftp  server의  기본 host name을 정의한다. 이 string은 magic cookie
            %L을 사용할 때마다 greeting message에 출력이  되어  진다.  virtual
            server들의  host name은 이 값을 덮어쓰게 된다. 지정을 하지 않으면,
            local machine의 기본 host name이 사용되어 진다.

       email <name>

            ftp main 관리자의 email  address를  정의한다.  이  string은  magic
            cookie %E를 사용할때 마다 출력이 되어 진다.

       message <path> {<when> {<class> ...}}

            <path>와  함께  file을  지정하며  user가  login을  할때나  working
            directory를 변경할때 ftpd가 user에게 이 file의  내용을  출력하게끔
            한다.  <when>  parameter는  "LOGIN"  또는  "CWD=<dir>"을 이용한다.
            <when>이  "CWD=<dir>"이면  <dir>에는  공지를  보여줄  새로운  기본
            directory를 지정을 한다.

       <class>는  부가적으로 사용이 되어 지며, 오직 특정 class의 member 들에게
       출력이 되어질 message를 지정을 한다. 하나이상의 class가  지정되어  질수
       있다.

       readmi  file에 지정된  text  string로 cookie를 대체하기 위해 "magic
       cookie"를 사용할수가 있다.
           %T      시스템 시간 (형식 Thu Nov 15 17:12:42 1990)
           %F      현재 파티션의 여유 공간 (kbytes)
                   [모든 system에적용되지는 않음]
           %C      현재 작업중인 directory
           %E      ftpaccess 에정의한 admin의 Email address
           %R      원격 host name
           %L      local host name
           %u      RFC931 인증을 통해 결정된 username
           %U      login time때 주어진 username
           %M      해당 class의 최대 접속자수
           %N      해당 class에셈현재 접속자 수
           %B      disk block들에 할당되어진 절대적 limit
           %b      disk block들에 할당되어진  limit
           %Q      현재 block 수
           %I      inode (+1)에 할당된 최대 값
           %i      할당된 inode limit
           %q      inode에 할당된 현재 값
           %H      excessive disk use 에 대한 시간 제한
           %h      texcessive files에 대한 시간 제한

        ratios:

           %xu     업로드 bytes
           %xd     다운로드 bytes
           %xR     업로드/다운로드 비율 (1:n)
           %xc     Credit bytes
           %xT     시간 제한 (분)
           %xE     Elapsed time since login (minutes)
           %xL     남은 시간
           %xU     업로드 한계
           %xD     다운로드 한계

       이 message는 user들을 귀찮게 하는 것을 피하기 위하여 오직 한번만 출력이
       된다.  메세지들이  익명 FTP user에 의해수행되었을때 <path>는 익명 FTP
       directory tree의 root로 변경이 됨을 기억해야 한다.

       readme <path> {<when> {<class>}}

            ftp가  login시나  file들이  존재하고  그  file들의  date가  변경된
            working   directory로   이동을  할때  user들에게  공지할  file들을
            <path>로정의 한다. <when> parameter는 "LOGIN"  또는  "CWD=<dir>"
            중에  하나를  선택한다.  <when>이 "CWD=<dir>" 이면, <dir>은 공지가
            실행될 새로운 기본 directory를 지정한다. message는 user들을 귀찮게
            하는  것을  피하게 하기 위하여 오직 한번만 출력이 될것이다. README
            message 들이 익명 FTP user에 의해 수행이 될때, <path>는  익명  FTP
            directory tree의 root로 변경이 됨을 기억해야 한다.

       <class>  option  지정은  message들이  오직 특정 class의 member 들에게만
       출력이 되어지도록 할수 있다. 하나 이상의 class가 지정될수 있다.

       log commands <typelist>

            user들에 의해 개별적인 명령의 logging을 가능케 한다.  <typelist>는
            "anonymous", "guest", "real" 이라는 keyword들의 list를 쉼표(comma)
            로분리하여 지정할수  있다.  "real"  keyword가  포함되어  있다면,
            logging은  real  account로  접근하기  위해 FTP를 사용하는 user들을
            위해 작동을  할  것이다.  그리고  "anonymous"  keyword가  포함되어
            진다면,  logging은  anonymous  FTP를 사용하는 user들을 위해 작동할
            것이다.  "guest" keyword는 guest 접근 계정들과  매치가  된다.  (더
            많은 정보를 얻기 위해섦"guestgroup"을 참조하라)

       log transfers <typelist> <directions>

            real  user나  anonymous  user들  모두를 위한 file 전송의 logging을
            가능케 하며, inbound와 outbound를 분리하여 logging을 할수가  있다.
            <typelisst>는   "anonymous",   "guest",  "real"과  같은  keyword의
            list들을 쉼표(comma)로구분을  한다.  "real"  keyword가  포함되어
            있다면,  logging은  real  account로  접근하기  위해 FTP를 사용하는
            user들을 위해  작동을  할  것이다.  그리고  "anonymous"  keyword가
            포함되어  진다면, logging은 anonymous FTP를 사용하는 user들을 위해
            작동할 것이다.  "guest" keyword는 guest 접근 계정들과 매치가 된다.
            (더    많은   정보를   얻기   위해섦  "guestgroup"을   참조하라)
            <directions>은 "inbound"와  "outbound"  두개의  keyword를  쉼표로            구분을  하여  지정을  하며,  이  option으로 server로 보내고 받는
            file들을 위한 전송 log를 기록한다.

       log security <typelist>

            real,  guest,  anonymous  user들을  위한  보안  rule들(noretrieve,
            .notar,  등)을  어기는  것들의 log를 기록하도록 한다. <typelist>는
            "anonymous",   "guest",   "real"   이라는    keyword들의    list를
            쉼표(comma)로 분리하여  지정할수 있다. "real" keyword가 포함되어
            있다면, logging은 real  account로  접근하기  위해  FTP를  사용하는
            user들을  위해  작동을  할  것이다.   그리고 "anonymous" keyword가
            포함되어 진다면, logging은 anonymous FTP를 사용하는 user들을  위해
            작동할  것이다. "guest" keyword는 guest 접근 계정들과 매치가 된다.
            (더 많은 정보를 얻기 위해섦"guestgroup" 을 참조하라)

       log syslog+xferlog

            incoming, outgoing  전송들에  대한  logging  message들을  syslog로
            향하게 한다. 이 옷변이 없으면 메세지들은 xferlog에 기록이 된다.

            syslog+xferlog는 system log와 xferlog 양쪽에 메세지를 기록한다.

Upload/Download        이 명령들을 사용하기 위해섦WU-FTPD 컴파일 시에 --enable-ratios 옵션을
       줘야 한다.

       ul-dl-rate <rate> [<class> ...]

            업로드/다운로드 비율을 지정한다.  (1:rate)  ftp  user가  1  byte를
            업로드 할때 <rate> byte를 얻게 된다.  기본값으로는 비율이 없다.

       dl-free <filename> [<class> ...]

            <filename> file은 다운로드가 ratio에 적용받지 않는다.

       dl-free-dir <dirname> [<class> ...]

            <dirname>  디렉토리에  있는  모든  파일들은  ratio에  적용을  받지
            않는다.  dl-free and dl-free-dir는  chroot()  환경이  아닌  시스템
            root를 사용하여 제한을 하게 된다는 것을 주의해야 한다.

       alias <string> <dir>
            directory에  대한  alias와 <string>을 정의한다. 논리적 directory의
            개념을 추가하여 사용할수 있다.

       예를 들어:
         alias   rfc:    /pub/doc/rfc
       은  user들이  명령어   "cd   frc:"에   의해   어떤   directory로   부터
       /pub/doc/rfc로 access하는 것을 가능케 한다.

       cdpath <dir>

            cdpath안에  entry를  정의한다.  이것은 directory 변경시에 사용되어
            지는 search path를 정의한다.

       예를 들어:
         cdpath /pub/packages
         cdpath /.aliases
       은 user들이 /pub/packages 또는 /.aliases directory들 하위에  있는  어떤
       directory로  직접  cd를  하는  것을  허락한다.  search path는 ftpaccess
       file에 기록된 line들의 순셀의해 정의되어진다.

       user들이 명령을 실행하면:
         cd foo
       directory들은 아래의 순섯통해 찾아 질것이다.
         ./foo
         an alias called "foo"
         /pub/packages/foo
         /.aliases/foo

       cd path는 오직 cd 명령어로섯가능하다. 만약 많은 수의 alias들을 가지고
       있다면 아마 user들에게 사용가능하게 만들고 싶은 모든 곳으로 링크를 하는
       것으로 alias들을 설치하기를 원할것이다.

       compress <yes|no> <classglob> [<classglob> ...]

       tar <yes|no> <classglob> [<classglob> ...]

            <classglob>와 매치하는 class를 위해 compress와 tar 사용을 가능하게
            한다.  실제  전환은  외부 file FTPLIB/ftpconversions에 의해 정의가
            되어 진다.

       shutdown <path>

            <path>에 file이 지정이 되면, 섰測 정기적으로  이  file의  내용을
            확인을 하여 셧다운을 하도록 한다. 셧다운 계획이 존재하면 user는 
            버로 부터 이에 대한 통보를 받게  된다.  셧다운  전의  지정된  시간
            이후에는  새로운  접속이  거절되며,  셧다운 이전의 지정된 시간에는
            현재 접속자들의 연결이 해제된다.  <path>에  지정된  파일의  구조는
            아래와 같다 :
             <연도> <월> <일> <시> <분> <거절_offset> <해제_offset>
             <text>

             <연도> 1970년도 이후로 지정을 한다.
             <월>   1-12월을 0-11로 지정을 한다.
             <일>   0-23
             <분>   0-59
            <거절_offset>  와  <해제_offset>  은   셧다운을  하기  전에 새로운
            접속을 거절하는 것과 현재 존재하는 접속을 해제하는  offset을  HHMM
            형식으로 지정을 한다. 0120은 1시간 20분을 의미한다.

       <text>는  "message"의  rule들을  따르며,  아래에  나영퓸있는 추가적인
       magic cookie를 사용할수도 있다.
            %s      시스템이 셧다운 되는 시간
            %r      새로운 접속이 거부되는 시간
            %d      현재 사용자들이 걍logout되는 시간
       모든 시간들은 ddd MMM DD hh:mm:ss YYYY 의  형태로  사용이  된다.   설정
       file에는 오직 하나의 "shutdown" 명령만 가능하다.

       설정  file에셈 shutdown  명령은 외부 프로그램인 ftpshut(8)을 자동으로
       사용을 하게 된다.

       daemonaddress <address>

            이 값이 지정이 되어 있지 않으면, 섰測모든 IP address에셈접속에
            귀를  귀울이게  된다.  반면에  지정이  되어  있으면 오직 지정된 IP
            address 에만 귀를 귀울이게 된다.

       이 절의 사용은 안하는 것이 좋다. 이것은 하나의 site만을 지원할때 추가가
       되어진다.   이것은  virtual  hosting  설정을  무시하며,  구문은  아마도
       daemon의 다음 버젼에섦변훌柰같다.

       virtual <address> <root|banner|logfile> <path>

            virtual ftp server를 가능하게 한다. <address>는  virtual  server의
            ip address를 지정한다. 두번째 인자중 root 는 virtual server를 위한
            ftproot의 경로를 지정을 하며, banner 는  virtual  server에  접속을
            할때  user에게  출력을  할  내용의  경로를  지정을 하며 logfile 은
            virtual server를 위한 전송을 기록하기 위한  file의  경로를  지정을
            한다.   만약  logfile  를  지정하지  않으면 기본적인 ftp logfile이
            사용이 되어진다.  virtual  server들에  적용이  되어  지는  message
            file들의  문법과 permission들은 다른 message file에사용하는 것과
            같다.

       주의: OS에이 요소가 지원이 안될수도 있다. 이것은 BSD/OS, Solaris  2.X
       와 Linux 에테스트가 되어졌다.

       <address>는 IP number보다는 hostname으로 지정이 되어져야 한다. 만약 FTP
       session이 시작 되어질때 DNS  check가  불가능하다면  hostname이  match가
       되어 지지 않으므로 이때는 사용을 하지 말아야 한다.

       나(번역자 ^^)의 경험으로는 hostname보다는 ip address로 지정을 하는 것이
       좋다. 특히 ip address 하나로  name-based  virtual  server를  운영하기를
       원한다면 wu-ftpd 에섦지원을 하지 않는 다는 점을 주의하도록 하자.

       virtual <address> <hostname|email> <string>

            환영  message와  status  명령에 hostname을 보여주도록 설정을 한다.
            또한  message  file과  HELP  명령에 주어진  <string>  에   email
            address를 사용 하도록 한다.

       virtual <address> allow <username> [<username> ...]

       virtual <address> deny <username> [<username> ...]

            일반적으로,  real과  guest  유저들은  이들이  guest들이고  virtual
            root로 chroot가  지정이  되기  전까지는  virtual  server로  접근이
            허락되지  않는다.   virtual  allow  line들의 list에 있는 user 들은
            접근을 허락된다.  username에 '*'를 지정하면 모든  user들이  접속을
            허락한다는  의미로  사용이  되어진다.  virtual deny 절들은 virtual
            allow 절들 이후에 진행이 되며, 모든 user들이 허락되어 졌을때  deny
            access를 지정을 하기 위하여 사용되어 진다.

       virtual <address> private

            일반적으로,  익명 사용자들은 virtual server에 log가 허락되어 진다.
            이 option은 그들의 접근을 거절하는데 사용을 한다.

       virtual <address> passwd <file>

            가상 도메인마다 다른 패스워드  파일을  사용할수  있다.  이  옵션을
            사용하기  위해섦 컴파일시에  --enable-passwd(또는 다른 PASSWD)를
            주고 컴파일을 해야 한다.

       virtual <address> shadow <file>

            가상 도메인마다  다른  쉐도우  파일을  사용할수  있다.  이  옵션을
            사용하기  위해섦 컴파일시에  --enable-passwd(또는 다른 PASSWD)를
            주고 컴파일을 해야 한다.

       defaultserver deny <username> [<username> ...]

       defaultserver allow <username> [<username> ...]

            일반적으로, 모든 user들은 default FTP server (virtual FTP server가
            아닌)로의  접근이  허락되어  진다.  defaultserver 는 특정 user들의
            접속을 거부를 하는데 사용을 한다; '*'를 지정을 하면 모든  user들의
            접근을   거절   한다.   특정한   user들은   defaultserver  allow를
            사용함으로접근이 가능 하게 된다.

       defaultserver private

            일반적으로, 익명 user들은 virtual FTP가  아닌  기본  FTP  server로
            접근이  허락되어  진다.  이  문장은  익명 접근을 거부하는데 사용을
            한다.

            virtual과 defaultserver의 allow, deny, private절은  어떤  user들이
            어떠한  FTP  server들에  접근이 허락되어 지는 것을 조절할수 있다는
            의미를 제공한다.

       passive address <externalip> <cidr>

            PASV 명령으로 온 응답으로 리포트된 주소의 조절을  허락한다.   어떤
            control  connection이  <cidr>  이 요구하는 passive data connection
            (PASV)와 매치를 할때 <externalip> 주소가  리포트  되어진다.  주의:
            이것은  daemon이  실제로  귀를  귀울이는  주소를  변 시키는 것은
            아니다. 오직 client로 리포트 되는 주소일 뿐이다.   이  요소는  IP-
            renumbering  firewall들  뒤에 daemon들이  정확하게 동작하게 하는
            것을 허락을 한다.

       예를 들어:
               passive address 10.0.1.15   10.0.0.0/8
               passive address 192.168.1.5 0.0.0.0/0
       모든 곳으로 부터의 접속이  192.168.1.5에  귀를  귀울이고  있는  동안  A
       class의  network 10으로 부터의 client의 접속은 passive connection 이 ip
       address 10.0.1.15에 귀를 귀울이고 있다는 것을 의미한다.

       Multiple passive address들은 complex의 조정으로 정의가  되거나,  multi-
       gateway 또는 network들의 조정으로 정의가 되어 진다.

       passive ports <cidr> <min> <max>
            passive  data  connection을 통해 사용되어 지는 TCP port number들의
            control을 허락한다. control connection이 <min><max>  까지의
            영역에  있는 <cidr> 포트와 매치된다면, daemon이 귀를 귀울이는 것을
            통해 마구 잡이로 선택이 될 것이다.  이  요소는  remote  client들이
            안전장치가  되어  있는  network에 접근을 할때 사용을 하는 port들을
            제한 하는 firewall들을 허락한다.

       <cidr> 은 machine address와는 반대되는 slash뒤에 4자리로 표기되고  또는
       각  자리의 bit의 합으로 표시되는 network address를 통해 표시된다.  예를
       들어, 10대의 A class로 예약된 대역을 사용한다면, netmask 255.0.0.0 대신
       CIDR "/8"을 사용할수 있으며 network를 10.0.0.0/8 로 표현을 할수가 있다.

       pasv-allow <class> [<addrglob> ...]

       port-allow <class> [<addrglob> ...]

            일반적으로 데몬은  지정지  않은  주소에섦 PORT  명령을  허락하지
            않는다.   그리고  이것은  다른  주소로  부터  PASV 접속을 허락하지
            않는다는 것을 의미한다.

            port-allow 절은 PORT 명령이  주어진  유저  class로  지정된  주소의
            리스트들을  규정한다. 이 주소들은 비록 클라이언트쪽의 IP address가
            매치가 되지 않는다 해도 허락이 된다.

            pasv-allow 절은 데이터 접속을 만드는  유저  클래스로  지정된  주소
            리스트를  규정한다.  이  주소들은 비록 클라이언트쪽의 IP address가
            매치가 되지 않는다 해도 허락이 된다.

       lslong <command> [<options> ...]

       lsshort <command> [<options> ...]

       lsplain <command> [<options> ...]

            lslogn,  lsshort,  lsplain  절은  commnad와  options들을   염탭臼            directory  listing을  사용하는  것을  허락한다.  option들은 공백을
            포함할수 없으며, 기본적인 것들은 이 절들을 통해 일반적으로  조정이
            된다는  것을  주의해야  한다;  절대적으로  필요할 경우에만 lslong,
            lsshort 또는 osplain 을 사용한다.

       mailserver <hostname>

            FTP 데몬이 어떠한 upload가  발생했을  경우  메일을  보낼  메일  
            버를지정한다.   한줄에  하나씩  써 여러개의  메일 섰嗤지정할수
            있다; 데몬은 하나의 메세지가 받아질 까지 각 업로드  통지의  배달을
            시도하게  된다.  메일  섰嗤 지정하지 않으면 로컬 호스트로 보내게
            된다.  이  옵션은  익명  업로드의  공지를  의미한다.    (incmail을
            참조하라)

       incmail <emailaddress>

       virtual <address> incmail <emailaddress>

       defaultserver incmail <emailaddress>

            익명   업로드시  통지를  할  메일  어드레스를  기록한다.  여러개를
            지정하여 각각 통지를 받을수가 있다. 지정하지 않으면, 통지를 보내지
            않는다.

            가상  호스트에  대해  지정을  하면, 오직 이 주소만이 익명 업로드에
            대한 통지를 받게 된다. 반대로 지정하지 않으면 전체  주소로  통지가
            보내진다.

            Defaultserver  주소는  오직  FTP  session이 하나의 가상 호스트로만
            사용되지 않을 경우에만 적용된다.  이  경우에는  기본  익명  영역에
            대해섯 통지를 받게 되며 통지를 지정하지 않은 가상 호스트들에게는
            통지를 볼수가 없다.

       mailfrom <emailaddress>

       virtual <address> mailfrom <emailaddress>

       defaultserver mailfrom <emailaddress>

            익명 업로드 통지를 위한 보내는 사람의 메일 주소를 지정한다. 하나의
            주소는  지정이  되어 있어야 한다. mailfrom이 적용되어 있지 않다면,
            메일은 기본 메일박스 이름인 'wu-ftpd'로 메일을 보재게 된다. 통지에
            답장을  시도  하는  것을 피하기 위해섦또는 반송이 되는 것을 막기
            위해 mailfrom 주소를 반드시 지정하는 것이 좋다.

       chmod <yes|no> <typelist>

       delete <yes|no> <typelist>

       overwrite <yes|no> <typelist>

       rename <yes|no> <typelist>

       umask <yes|no> <typelist>

            특정  function들을  수행할수  있는  권한들을  허락하고   불허한다.
            기본적으로, 모든 user들에게 허락이 되어진다.

       <typelist>는   keyword  "anonymous",  "guest",  "real",  "class="  들을
       컴마(",")로구분하여 나옳磯 "class="를 나타낼때는, classname  이  꼭
       따라와야  한다.  어떤  "class="  를  나타낼때,  <typelist>  제한은 오직
       class의 user들에게만 적용이 된다.

       passwd-check <none|trivial|rfc822> (<enforce|warn>)

            anonymous ftp를 통해 server에 접근을 할때 level과  password  check
            의 형태를 정의한다.
              none      password check를 하지 않는다.
              trivial   password에 '@'이 반드시 포되어 있는지를 check한다.
              rfc822    password가 rfc822에 의거한 주소로 되어 있는지를 확인한다.
              warn      user에게 경고는 하되, login은 허락한다.
              enforce   user에게 경고를 하며 login은 허락하지 않는다.

       deny-email <case-insensitive-email-address>

            e-mail  주소를  효력이 없는 요소로검토를 하게 한다. 만약 passwd-
            check가  enforce로  셋팅되어  있으면,  익명  user들은  이   주소를
            password로 사용하여 login할수가 없다. 이것을 이용하여 IE?0User@ or
            mozilla@  와  같은  어리석을  WWW  brosers가  사용을  하는  거짓된
            주소들을  사용하는  user들을  막을수가  있다. (이것을 사용함으로
            ftp를 위해 WWW browser를 사용하는 user들을 막는 것에  대해  고심할
            필요가  없다.  단  그들이 사용을 하는 browser를 정확하게 setting을
            해야 한다.) 오직 한 line당 하나의  주소만  설정이  되지만,  원하는
            만탔deny-email address를 가질수가 있다.

       path-filter  <typelist>  <mesg>  <allowed_charset> {<disallowed regexp>
       ...}

            <typelist>의    user들을   통해,   path-filter는   정규   표현식을
            filename으로 할지  안할지를  정의한다.  다중으로  정규  표현식들을
            허락하지는  않는다.  만약 filename이 정규 표현식의 척도와 매치하지
            않는 다면, <mesg> 가 user 들에게  출력이  되어  질  것이다.   예를
            들어:
              path-filter anonymous /etc/pathmsg ^[-A-Za-z0-9._]*$ ^\. ^-
            는 익명 사용자들을 통한 모든 upload filename 들은 반드시 A-Z, a-z,
            0-9, "._- "으로 으로 이루어 져야 하며 시작시에 "."와 "-" 는 사용할
            수가  없다는  것을  정의한다. 만약 filename이 위의 내용과 부합하지
            않는다면 /etc/pathmsg 이 user들 에게 출력이 될것이다.

       upload  [absolute|relative]   [class=<classname>]...   [-]   <root-dir>
       <dirglob> <yes|no> <owner> <group> <mode> ["dirs"|"nodirs"] [<d_mode>]

            <dirlob>로 upload를   허락하거나   허락하지   않을   directory를
            지정한다.

       upload를  허락한다면,  모든  file들은  <owner>와  <goupr>으로  소유권을
       가질것이며, permissions들은 <mode>에 따른다.

       directory들은 가장 매치가 잘되는 원칙에 따른다.

       예를 들어:
         upload  /var/ftp  *               no
         upload  /var/ftp  /incoming       yes  ftp  daemon  0666
         upload  /var/ftp  /incoming/gifs  yes  jlc  guest   0600  nodirs
       이것은 /incoming 과 /incoming/gifs 에만 upload를 허락한다. /incoming 에
       upload  된  file들은  ftp/daemon  의  소유권을  가지며, 퍼미션은 0666을
       가지게 된다. /incoming/gifs에 upload 되어진 file은 jlc/guest의 소유권을
       가지며,  0600의  퍼미션을  가지게  된다.  여기 <root-dir>은  passowrd
       file에"ftp" user에게 지정된 directory와 반드시 매치가  되어야  한다는
       것을 명심해야 한다.

       부가적으로  "dirs"  와  "nodirs" keyword는 mkdir 명령을 사용하여 어떠한
       새로운 subdirectory를  만드는  것을  허락  하거나  허락하지  않는  것을
       지정한다.

       upload  명령을  사용할때, directory 생성은 default로 허락이 되어 진다는
       것을 주의해야 한다. default 값을 off로 바꾸기 위해섦이 config file에       upload  명령을  사용하고  있는  line중  가장  읒牟user, group, mode를
       지정해야 하며, "nodirs"가 반드시 뒤에 따라와야 한다.

       directory 생성을 허가할때  부가적으로  <d_mode>라는  지시자를  사용할수
       있으며 이것은 directory를 생성할 시의 direcotory permission을 지정한다.
       <d_mode>를  생략하면,  permission은  <mode>를  따라가며,  <mode>   마져
       생략되어 있으면 0777이 된다.

       upload   keyword는   오직  <root-dir>의  (chroot()가  적용이  되는)home
       directory를 가지고 있는 user(즉 anonymous)에게만 적용이  된다.   <root-
       dir>은 어떠한 home directory와 매치 시키기 위하여 "*" 로지정을 할수도
       있다.

       <owner> 와/또는 <group>은 어떤 upload file이나  directory  들이  그들이
       만들어진 directory의 자신의 소유권으로생성을 시키고자 할 경우에는 "*"
       로각각 지정을 할수도 있다.

       부가적으로 첫번째 parameter는 현재  chroot  환경에  따라 절대적으로나
       상대적으로  해석하여  선택을 한다. 기본값으로는 <root-dir>을 절대값으로
       해석을 한다.

       한다면, 이 upload절은 오직  현재  user가  어떤  class의  member일때  만
       영향을 받는다.

       섰熾    업로드     파일을     허락하도록    설정을    하기    위해섦       upload.cofiguration.HOWTO 를 꼭 읽어 보기 바란다.

       throughput <root-dir> <subdir-glob> <file-glob-list> <bytes-per-second>
       <bytes-per-second-multiply> <remote-glob-list>

            remote hostname 또는 remote IP address가 comma로  분리된  <remote-
            glob-list>와 매치가 될때, <root-dir> 아래의 <subdir-glob>와 매치가
            되는   subdir에  comma로   구분된   <file-glod-list>를    통하여
            다운로드에 <byte-per-second>의  전송  처리량이 제한되는 file들을
            지정할수 있다.

            Entry들은 가장 부합되는 원칙에 매치가 되어진다.

            예를 들어:
             throughput /e/ftp *    *      oo   -   *
             throughput /e/ftp /sw* *      1024 0.5 *
             throughput /e/ftp /sw* README oo   -   *
             throughput /e/ftp /sw* *      oo   -   *.foo.com

            이것은 defalut로 최대 전송량을 지정한다.  하지만  README라는  이름
            지어지지 않은 e/ftp/sw/ 아래의 어떤 file들에 대해초당 1024byte로
            download를 제한한다. domain foo.com의 도메인을 가진 네트웍에오는
            remote host들은 예외로 항상 최대 전송량을 얻을수 있다.

            매  시간  remote  client들은  /e/ftp/sw 아래의 file을 제한 받으며,
            entry line과 매치가 되는 byte per second는 내부적으로 계수(여기섦            0.5)만탑 증가  되어진다. 그리고 remote client가 두번 파일을 제한
            할때, 이것은 512byte/s로 제공이 되며 세번째 시도시에는  254byte/s,
            4번째 시도시에는 128byte/s 등으로 제한이 되어진다.

            byte  per  second  field의  "oo"는  전송량  제한을  하지 않는 것을
            의미한다.  1.0 씩의 계수 증가나  "-"  는  매번  성공적인  전송후에
            전송량의 변활없음을 의미한다.

            여기 <root-dir>은  password  database에 있는 "ftp" user에게 지정
            되어진 home directory와 반드시 매치가 되어야 한다는 것을  주의해야
            한다.  throughput(전송량)  keyword는 오직 <root-dir>의 (chroot()가
            적용이 되는) home directory를 가지고 있는 user(즉 anonymous)에게만
            적용이 된다.

       anonymous-root <root-dir> [<class>]

            <root-dir>   은   anonymous  user들의  chroot()  path를  지정한다.
            anonymous-root 가 매치가 되지를 않으면, 전통적으로 내려오는 구문의
            방법으로  'ftp'  user의  home  directory를 사용을 한다.  <class>가
            지정이 되지 않으면, 어떤 anonymous-root 지정이 되지 않은 anonymous
            user들의   root   directory가   된다.    라인에  여러개의  class를
            지정할수도  있다.  user들을  위한  anonymous-root가  선택이  되면,
            <root-dir>/etc/passwd  file에 잇는 'ftp' user들의 home directory가
            사용되어 지며, 최초의 directory와  system  전반적인  /etc/passwd의
            'ftp' user들의 home directory는 사용이 되지 않는다.

            예를 들면:
              anonymous-root /home/ftp
              anonymous-root   /home/localftp   localnet   는  모든  anonymous
            user들의 chroot()를 /home/ftp로 지정을 하며, 최조의 CWD는 이  home
            directory가  된다.  그러나  class  localnet의  anonymous  user들의
            chroot()는    /home/localftp가    되며,    그들의    최초    CWD는
            /home/localftp/etc/passwd  에 있는 'ftp' user들의 home directory로
            부터 영향을 받게 된다.

       guest-root <root-dir> [<uid-range>]

            <root-dir>은 guest  user들의  chroot()  path를  지정한다.   guest-
            root가  매치가  되지  않으면  전통적으로  내려오는 구문의 방법으로
            user들의 home directory가 사용되어 진다.  <uid-range>가 지정이  된
            않으면,  어느  다른  guest-root가  지정이 되지 않은 guest user들을
            위한 root directory가 된다.   한  라인에  여러개의  uid  range들을
            지정할수도  있다.   user들을 위한 guest-root가 선택이 되면, <root-
            dir>/etc/passwd  file에  있는  user들의  home  directory가  사용이
            되어지며,  최초의  directory와  system  전반적으로 사용이 되어지는
            /etc/passwd의 home directory는 사용이 되지 않는다.

            <uid-range>는 UID값의 숫자로 지정을 한다.  range들은  dash에  의해
            구분되어 지는 상,하 경계가 주어짐에 따라 지정되어 진다. 하계(lower
            bound)를 생략하는 것은 "all up to"를 뜻하며,  상계(upper  bound)를
            생략하는 것은 "all starting from"을 의미한다.

            예를 들어:
              guest-root /home/users
              guest-root /home/staff %100-999 sally
              guest-root /home/users/frank/ftp frank
            는     모든     user들의     chroot()를     /home/users로    하고,
            /home/users/etc/passwd  에 지정된   그들의   home   directory에            시작하게  한다.  range  100  부터 999까지에 포함되는 user들과 user
            sally는      /home/staff로       chroot()가       되어       지며,
            /home/staff/etc/passwd의   그들의   entry에로  부터  CWD가  영향을
            받는다. single  user  frank는  /home/users/owner/ftp가  chroot()로
            되며,  CWD는  /home/users/owner/ftp/etc/passwd의  그의 entry로부터
            영향을 받는다.

            anonymous-root 와 guest-root를 위한 명령들은 매우 중요하다는  것을
            주의해야 한다. user가 여러개의 구문에 중복되어 매치가 된다면, 오직
             처음 것만 적용이  된다.  <class>  나  <uid-range>가  없는  구문은
            제외되며, 어떤 구문도 매치가되지 않을 경우에만 적용이 된다.

       deny-uid <uid-range> [...]

       deny-gid <gid-range> [...]

       allow-uid <uid-range> [...]

       allow-gid <gid-range> [...]

            이  절들은  UID와 GID 값으로 ftp server 로의 접근 거부를 지정한다.
            allow-uid 와 allow-gid 절은 거부와는 달리  uid/gid  를  통해  접근
            허락한다.  이 체크들은 모든 다른 설정들 이전에 이루어진다.  deny는
            allow 이전에 체크가 된다. defalut로는  모두  접근을  허락을  한다.
            모든  경우에 이것은 /etc/ftpusers file을 통한 필요성을 제거 할수
            있다. 예를 들어:
              deny-gid %-99 %65535
              deny-uid %-99 %65535
              allow-gid ftp
              allow-uid ftp
            anonymous  'ftp'  user/group을  제외한  Linux  Box의  모든  특권을
            가졌거나  특정한  user들과  group들의  ftp  접근을 거부한다.  많은
            경우, 이것을 이용하여 /etc/ftpusers file의  역할을  대신할수  있만
            이것은  /etc/ftpaccess file의 변경을 바라지 않을때 사용하기 위하여
            존재를 한다.

            ftpaccess file을 통해 single UID와 GID를  사용할때  이름이나  숫자
            둘다 사용을 할수가 있다. 숫자를 사용하기 위해섦 숫자 이전에

       restricted-uid <uid-range> [...]

       restricted-gid <gid-range> [...]

       unrestricted-uid <uid-range> [...]

       unrestricted-gid <gid-range> [...]

            이  절들은 real 또는 guest user들이 자신들의 home directory 이외의
            FTP site 영역에  접근  하는  것을  조절한다.  이것은  guestgroup과
            guestuser의  사용을 대신하는 것을 뜻하지는 않는다. 대신, guest들의
            작용을    보완하는데    사용할수는    있다.     unrestricted-uid와
            unrestircted-gid  절은 restricted와는 달리 그들의 home directory들
            이외의 directory에 user들의 접근을 허락한다.

            이 절의 사용의 예는 그들의 사용경향을 보여준다. user 'dick'의 home
            directory가  /home/dick  이고,  'jane'이  /home/jane 이라고 가정을
            하면 :
              guest-root /home dick jane
              restricted-uid dick jane
            dick과 jane의 chroot'd가 /home일 동안, 그들의 home directory  들을
            제한 받기 때문에 각각 다른 file들을 access 할수가 없다.  Whereever
            possible, in situations such as this  example,  try  not  to  rely
            solely  upon  the ftp restrictions.  다른 모든 ftp aceess 법칙에
            ftpaccess 설정의 작동을 보완하기 위해 directory와 file의  퍼미션을
            사용하도록 노력도 해야 한다.

       site-exec-max-lines <number> [<class> ...]

            SITE  EXEC  의  특징은  전통적으로 원격 client로 보내지는 line들의
            출력의 수를 제한한다.  이  구문은  제한을  셋팅할수  있게끔  한다.
            생략하면  20  line들로 제한이 된다. limit 0은 제한을 하지 않는다는
            것을 의미한다; limit를 없애려고 한다면 조심해야  한다.  이  구문이
            원격의  user class와 매치가 된면 limit가 바로 적용이 된다.  반면에
            '*' class나 class가 주어지지 않은 구문 역시  사용되어  질수  있다.
            예를 들어;
                site-exec-max-lines 200 remote
                site-exec-max-lines 0 local
                site-exec-max-lines 25
            Limits는  'remote'  class의  user들에게  SITE EXEC (와 그결과 SITE
            INDEX) 로 부터 200 line을 출력하며, 'local'  class의  user들에게는
            제한을 하지 않는다. 그리고 모든 다른 user들에게는 25 line의 제한을
            적용한다.

       dns refuse_mismatch <filename> [override]

            원격 사이트의 forward와 reverse lookup이 맞지 않을때,  FTP  세션을
            거부하며,  메세지  파일과  같은  파일을 접근 유저에게 출력을 한다.
            옵션으로 [override]를 지정을  할  경우에는  메세지를  출력한  후에
            접근을 허락한다.

       dns refuse_no_reverse <filename> [override]

        원격  사이트가  DNS  항목에  들어  있지  않을 경우 FTP세션을 거부하며,
        메세지  파일  과  같은  파일을  접근   유저에게   출력한다.   옵션으로
        [override]를  지정을 할 경우에는 메세지를 출력한 후에 접근을 허락한다.

       dns resolveroptions [options]

            resolveroptions 옵션은 name server 옵션들을 피하는 것을  허락한다.
            이   라인은   resolver(3)   의  문셌낮 플래그의  종류를  취한다.
            부가적으로 + 나 - 에 의해 설정을 해 나갈수 있다. 예를 들어
                dns resolveroptions +aaonly -dnsrch
            는 aaonly 옵션을 활성하고(오직  믿을수  있는  응답들만),  dnsrch
            옵션 (도 메인 경로를 찾는것)은 비활성하게 된다.

       FTPLIB/ftpaccess

       ftpd(8), umask(2), ftplog(5), ftpconversions(5), ftpshut(8)

       김정균 <admin@oops.org> 2000년 8월 5일

                                                                  ftpaccess(5)