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)