Axil S/E-kdk001
                                   1995.10.6
                                  Kim Do Kyung

SUBJECT: Anonymous FTP Set-up(Solaris 2.X)

CONTENTS:
0. 미리 보기
1. Accounting Rules
2. Setting Flow...
3. 도움 보기

DESCRIPTION:

0. 미리 보기
   
   - MEMO woo006(Anonymous ftp의 Setup on Solaris 1.X) 

1. in.ftpd Daemon이 허락하는 Accounting Rules 

   1) User name이 /etc/passwd Database에 있어야 하고, passwowd는 null이 아니어야 한다.
   2) User name이 /etc/ftpusers file에 등록되어 있다면, 그 User는 Ftp Server에 Access 할 수 없다.
   3) /etc/passwd에서 지정한 User의 Shell이 /etc/shells File에 등록되어 있지 않다면 Ftp Access는 거부될 것이다. 
      단, 다음과 같은 Shell은 예외다.
      /usr/bin/sh   /usr/bin/csh   /usr/bin/ksh
      /usr/bin/jsh  /bin/sh        /bin/csh
      /bin/ksh      /bin/jsh       /sbin/sh
      /sbin/jsh
   4) /etc/passwd에서 Shell이 /nosuchshell로 되어 있고 /etc/shells에 /nosuchshell로 등록되어 있다면 anonymous접속만 가능하고 root및 일반 user로의 ftp는 불가능하게 된다. 
 
2. Setting Flow...

   1) ~ftp
       Home Directory의 Owner는 ftp이고 딴놈들은 Unwrite Permission.
       이 Directory는 nosuid option으로 mount된 File system에 존재해서는 안된다.
   2) ~ftp/bin
       Owner는 root이고, 딴놈들은 Unwrite Permission.
       /usr/bin/ls를 copy하고 Permission은 111.
   3) ~ftp/usr/lib
       Owner는 root이고, 딴놈들은 Unwrite Permission.
       /usr/lib에 있는 다음과 같은 Shared Library를 Copy.

            ld.so*
            libc.so*
            libdl.so*
            libintl.so*
            libw.so*
            libnsl.so*
            libsocket.so*
            nss_nis.so*
            nss_nisplus.so*
            nss_dns.so*
            nss_files.so*
            straddr.so*
    
    4) ~ftp/etc
        Owner는 root이고, 딴놈들은 Unwrite Permission.
        ls Command가 제대로 수행되기 위해 /etc/passwd /etc/group /etc/netconfig를 copy.
        이 File들의 Permission은 444
    5) ~ftp/pub
        Owner는 ftp이고 Permission은 777
    6) ~ftp/dev
        Owner는 root이고, 딴놈들은 Unwrite Permission.
        다음과 같은 file들을 mknod Command로 만드는데 #Major와 #Minor가 같아야 한다.
        #Major와 #Minor는 ls -lL Command로 확인할 수 있다.
        (예... Atom /home/ftp/dev> mknod zero c 13 12 [Enter])

             /dev/zero
             /dev/tcp
             /dev/udp
             /dev/ticotsord

     7) /etc/passwd File의 예
        "ftp:x:30000:30000:Anonymous Ftp:/home/ftp:/nosuchshell
     8) /etc/shadow File의 예 
        "ftp:NP:6445::::::"

3. 도움 보기

   - man ftpd
   - Bug report 1131158 (Anonymous ftp script does not work)
   - Bug report 1085306 (errors in ftpd(1M) man page in description of anonymous ftp setup)
   - Bug report 1130010 (script to set up anonymous FTP is needed)