精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>Solaris>>solaris下匿名FTP安装

主题:solaris下匿名FTP安装
发信人: hlzhan(Unfair)
整理人: hlzhan(2001-11-19 21:55:44), 站内信件
本文出自: 作者: (2001-10-02 10:00:00) 


一: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消息及消息的传递方向。  

 
 



----
我们由于聪明而变得狡猾
由于狡猾而丧失勇气
由于丧失勇气而变得猥琐
     

[关闭][返回]