2007年6月1日星期五

How to set up Anonymous FTP on AIX
AIX下匿名ftp的设置

步骤如下:
1. 设置匿名FTP用户,用vi编辑文件/etc/passwd,加入下面一行信息:
ftp:*:2121:21:Anonymous FTP User:/home/ftp:
2. 设置FTP目录
事实上在上一步操作中已经为用户ftp设置了用户主目录以及匿名 FTP时用户的顶层目录。
3. 一旦分配好了空间,就可以创建 FTP目录。这个目录的所有者必须是 root和一个其组员中不包括用户ftp的组:
# mkdir /home/ftp
# chown root /home/ftp
# chgrp bin /home/ftp
# chmod 755 /home/ftp
接下来的工作是创建 FTP目录之下的子目录,如 bin、etc和 pub等。FTP目录下的这些子目录每个都有专门用途:
bin FTP服务器运行的辅助程序(ls)所在目录。
etc FTPD及其支持程序所需信息表(passwd、group)所在目录。
pub FTP文档目录内所有可供用户公开访问的文件所在目录。
所有这些目录的所有者必须是 root和一个其组员中不包括用户 ftp的组。完成上述操作之后,这些目录的权限等信息如下所示:
drwxr-xr-x 7 root bin 512 Apr 5 15:17 ./
drwxr-xr-x 25 root bin 512 Jul 13 11:30 ../
drwxr-xr-x 2 root bin 512 Aug 28 15:43 bin/
drwxr-xr-x 2 root bin 512 Jun 22 16:23 etc/
drwxr-xr-x 10 root bin 512 Jan 14 10:54 pub/
•各目录的拥有者中均包含 root。
•除用户 ftp外,所有目录都至少有一个不同的组用户。
•任意目录的写权限都不能向所有用户开放。
•bin目录只能包括由所有用户执行的可执行文件。
总之,用户 ftp不得拥有匿名 FTP空间内的任何文件和目录。匿名 FTP用户只能用这种权限对文件进行操作。
4. 为使匿名 FTP用户能够显示目录清单,FTP服务器必须有一个1s命令的拷贝。把系统命令1s的一份拷贝复制到 FTP目录的步骤如下:
# cp /bin/ls /home/ftp/bin
# chown root /home/ftp/bin/ls
# chgrp bin /home/ftp/bin/1s
# chmod 111 /home/ftp/bin/ls
这些命令还确保了复制的拷贝有一个正确的权限,并且不能由任意用户读写。
5. 现在必须复制口令文件和组文件的一个“假”备份,并把它放在~ftp/etc(FTP匿名登录后根下的目录)目录。虽然进行权限检查时并不需要使用这些文件,但如果希望用 ls命令列举目录内容时能够显示拥有者信息和组信息,那么这些文件将是必需的。应切记不要把系统的实际口令和组文件拷贝到这儿,否则非法入侵者可能由此而访问到你系统的口令信息。
这里制作的/etc/passwd拷贝应包含root和ftp的条目,这两者的口令域均包括了一个星号( *)。同时,这里还可包括那些负责维护匿名 FTP文件的所有用户的条目。这虽然不是必需的,但在列举目录内容时可使用户根据拥有者名(而不是根据 UID)来显示文件权限。在这些条目中,你同样应该用星号替换加密后的口令。
对于这里复制的/etc/group文件,其中只能包括在 FTP档案中出现的组的条目。 比如,上面提到的 bin组就应该包括在这儿。对于各组所对应的条目,应当删除组的成员信息,并确保在加密的口令宇段显示的是一个星号( *)
最后,请确保和~ftp/etc/passwd和~ftp/etc/group文件的拥有者中包括 root,并且不是所有用户可写。
6. 在目前的所有 UNIX系统上,FTP服务器都是从 inetd运行的。除非你取消了这个进程,否则 FTP服务器肯定已在/etc/inetd.conf中配置就绪。不过无论如何你都应检查一下这个条目。
如果一切正常,则在/etc/services应该有两个与 FTP相关的条目(如果使用 NIS,则这些条目应该在 NIS服务器的 services图上),如下所示:
ftp-date 20/tcp
ftp 21/tcp
(注:以上内容可以用命令 grep ftp /etc/services 来查看。)
请确认已定义了上面两项。
在/etc/inetd.conf应该可以找到类似下面这样的对应 FTP的条目:
ftpstreamtcp6nowait root /usr/sbin/ftpd ftpd
(注:以上内容可以用命令 grep ftp /etc/inetd.conf 来查看。)
7. 最后,应该使AIX内核重新读取系统配置文件,使FTP生效。
# refresh -s inetd
0513-095 The request for subsystem refresh was completed successfully.
如果看到上面的提示信息,就意味着配置好了inetd,匿名FTP应该算完全就绪了。
8. 直接ftp yourhost试一试,用ftp用户登录,应该是不需要什么口令就可以的了。

0 评论: