solaris下匿名FTP安装
发布时间:2006-10-14 8:47:39   收集提供:gaoqian
一:FTP的安全问题: 
(1)建立/etc/ftpusers文件,列入此文件中的用户不能使用ftp服务,考虑安全性该文
件中应包括root,uucp用户。 
(2)Solaris系统中默认时无/etc/Shells文件,这就为黑客创造了条件,这时用户可以
用任何shell访问系统的ftp服务,如不存在时应考虑建立该文件。

二:自动登录: 
如需使用FTP提供的自动登录功能需产生一个名为.netrc的文件,该文件位与用户的home
目录中,.netrc文件的权限要设置为600。 文件格式如下: 
machine hostname | default login login_id password password macdef macfilename 
例:machine zzft login test password test 
defalut login test password test1 
第一行使用户test自动登录到主机zzft上建立ftp会话;第二行准许zzft使用默认的帐号登
录到其他服务器上。

三:对于 Anonymous FTP 的用户, in.ftpd 限定了该用户的一些使用权限. 
要建立一个Anonymous FTP, 建议按下列的步骤来设置. 
1. 建立一个 Anonymous FTP 的 home directory. 这个目录是Anonymous 
FTP 的根目录, 所有 Anonymous 所能存取的文件,都在这个目录以下. 
假设这个目录为 ~ftp (例如建立在 /export/ftp). 这个目录的属主需为 root, 且对任何
人都不能有写的权限. 
2. 建立 ~ftp/bin 这个目录是用来放 Anonymous 所能使用的命令. 一般 来说, 放入 ls 
和 pwd 即可.这个目录的属主需为 root, 且对任何人 都不能有写的权限. 目录内, 文件的
 mod 需为 111.(ex. %chmod 111 * ) 
3. 建立 ~ftp/usr/lib 这个目录是用来存放当 Anonymous 用户在使用 FTP时,所会使用到
的 library. 这个目录的属主需为 root, 且对任何人 都不能有写的权限. 你可以把存在 
/usr/lib 的下列文件拷贝到这个目录内. 
ld.so.1* 
libc.so.1* 
libdl.so.1* 
libmp.so.2* 
libnsl.so.1* 
libsocket.so.1* 
nss_compat.so.1* 
nss_dns.so.1* 
nss_files.so.1* 
nss_nis.so.1*
nss_nisplus.so.1* 
nss_xfn.so.1* #没有这个文件可忽略 
straddr.so* straddr.so.2* 
4. 建立 ~ftp/etc 这个目录是用来存放 FTP 用户及权限.这个目录的 属主需为 root, 且
对任何人都不能有写的权限. 你可以把 /etc/passwd /etc/group 以及 /etc/netconfig 拷
贝到这个目录中. 并且修改 passwd及 group. 在 passwd 这个档中, 你只需留 
root,daemon,uucp,ftp这几个 user. 内容 如下: (请按自己的环境设置) 
root:x:0:1:Super-User:: 
daemon:x:1:1::: 
uucp:x:5:5:uucp Admin:: 
ftp:x:30000:400:Anonymous FTP:: 
在 group 进个档中, 你只需留必需的 group . 如 other (root,daemon的 group),
uucp (uucp 的 group),ftp (ftp 的group). 内容如下: (请按自 己的环境设置) 
other::1: 
uucp::5:root,uucp 
ftp::400: 
5. 建立 ~ftp/pub 这个目录是给 Anonymous 存取文件的地方, 也就是一般 我们用
 Anonymous FTP 时, 所可以 download file 的地方. 此目录的拥有 者为 ftp 的理者. 
 而其 mod 需设为 755. 
6. 建立 ~ftp/dev 这个目录是当Anonymous FTP用户在执行指令行, 所需用 到的装置. 要
建立这些装置, 要先以 ls -lL 来看下列四个装置的属性. 
/dev/zero 
/dev/tcp 
/dev/udp 
/dev/ticotsord 
然后再利用 mknod , 在 ~ftp/dev 内建立这四个装置. 
例如: 
% ls -lL /dev/zero 
crw-rw-rw- 1 root root 13, 12 Feb 19 15:00 /dev/zero ^^^ ^^^ ^^^ ^^^^ 则建立 
zero 这个 device 的方法为 
% mknod zero c 13 12 
建立好了之后, 必需将其 mod 设为 666 才不会产生 "permission denied" 的错误息. 
7. 建立 ~ftp/usr/share/lib/zoneinfo 这个目录是让 Anonymous 在使用 ls -l 时, 会显
示出正确的时间及日期. 需将其 mod 设为 555 
8. in.ftpd 利用 pam 来对用户做 认证,计费管理及session的管理. pam的设置档存放在 
/etc/pam.conf .你必需把以下三行加入 pam.conf这个文件里头.
ftp auth required /usr/lib/security/pam_unix.so.1 
ftp account required /usr/lib/security/pam_unix.so.1 
ftp session required /usr/lib/security/pam_unix.so.1 
9. 最后, 要设置 Anonymous FTP 的步骤, 就是开一个 Anonymous 的帐号. 假设 
Anonymous FTP 的 root 为 /export/ftp . 则你必需在 /etc/passwd 中加入以下这一行: 
ftp:x:30000:30000:Anonymous FTP:/export/ftp:/nosuchshell 
并且, 在 /etc/shadow 中加入以下这行: ftp:NP:6445:::::: 
加好了以后, 你就可以用 Anonymous 来做 FTP 了..... 
如果你要一开放一个 incoming 区, 可以按下列的方式做. 
1. 建立一个 ~ftp/incoming 的目录, 属主为 root , group 为 ftp 的 group 
2. 将 upload 的 mod 设为 777 即可. 
除将PUB目录设为755其余设为555 

四:FTP的问题 
(1)修改超时时间的方法是编辑/etc/inetd.conf文件。
原文件:ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd 
修改后:ftp stream tcp nowait root /usr/sbin/in.ftpd -t3600 in.ftpd 
必须向inetd进程发SIGHUP信号重新启动 
(2)无法用mput一次传送多个文件使用glob命令打开文件名扩展的功能: 
ftp>glob 
Globbing truned off 
ftp>glob 
Globbing truned on 
(3)FTP的调试开关-d或在ftp>下执行debug,会显示会话中交换ftp消息及消息的传递方向。 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50