在iNet上有无数建在unix下的anonymous FTP服务器,你也想在sco-unix下试试吗? :)
为了防止user对系统的侵害,首先chroot是必不可少的,也就是说anonymous看到的“/”并不是系统真正的“/”,通常只是对应/usr/ftp目录。那些把/etc/passwd拉下来的user别高兴得太早了。 :)除非你碰到一个很菜鸟的root。
言归正转: 1) 建立一个名为ftp的user,不设密码,home dir为/usr/ftp。对sco-unix 3.2v4.2可以用sysadmsh命令,对odt 5.0.x可以用它的Account Manager。
2) 设置ftp目录下的权限 # csh # cd /usr/ftp # chmod 755 .; chown root .; chgrp root .
3) 建立ftp下面的目录 # mkdir bin dev etc lib pub usr usr/lib # chown root bin etc dev lib usr usr/lib # chmod 555 bin etc dev lib usr usr/lib # chown ftp pub # chmod 777 pub
4) 因为ftp的“/”不是真正的“/”,所以把要用到的文件cp过来,并设定相应的权限。 # cd bin # cp /bin/ls . (看到了吧,DIR命令就是它解释的) # chmod 111 ls # cd ../etc # cp /etc/passwd . # cp /etc/group . # chmod 444 passwd group # cd ../lib # cp /lib/libprot.so.1 . # chmod 555 lib* # chown bin lib* # cd ../usr/lib # cp /usr/lib/libc.so.1 . # cp /usr/lib/libsocket.so.1 . # chmod 555 lib* # chown bin lib* # cd ../.. # find /dev/socksys -print | cpio -dumpv /usr/ftp # find /dev/zero -print | cpio -dumpv /usr/ftp
5) 因为anonymous并不用到真正的/etc/passwd,所以这时要对/usr/ftp/passwd做些工夫把password对应位置该掉,例如: root:Xl2FXPOSKsqd1:0:3:Superuser:/: 改为 root::0:3:Superuser:/: 当然,对已经shadow的系统这就可以免了。 :)
6) 为安全起见,可以把root, uucp等用户排除在外。 :) 至于具体做法可参见/etc/ftpaccess文件的设置,此文件设置还包括user多长时间没动作就自动把他踢出去的时间,那些用户可以访问,哪些禁止等,设置比建anonymous还麻烦,这里就不说了。 :) 某些也可以通过ftpd的命令行参数来设定。
btw: 我试过在sco-odt 5.0.2上建的ftp server是不支持任意密码的,要输入完整的e-mail地址(应该说是看起来合法的e-mail地址),如果你用Netscape访问... :)
... All 你上,俺掩护! ! Origin: DIGGER(TM) RAS & BBS, 020-86636976, ☆迪嘉☆, FIDO - (6:655/205)

|