ChinaUnix.net
 >> ChinaUnix.net > SCO

SCO Unix中匿名FTP的实现!!

作者:lonelykiller     发表时间:2002/02/03 01:57pm

在SCO Unix中,匿名FTP服务器通过文件传输协议守护进程ftpd,与来访的客户机建立控制连接(进行交互式对话,响应FTP请求命令)和数据连接(实现数据传输),并提供了匿名的开放式访问能力,ftpd使用chroot限制了用户的登录方式及对文件系统的操作权限(见图1)。这种限制一方面要求用户仅通过使用通用账户anonymous或ftp,以自己的电子邮件地址作为口令便可访问系统,另一方面将访问能力限制到规定目录下,保护了Unix文件系统的其它部分不被访问和操作,安全性和方便性均体现出来,这也是匿名FTP服务器被广为使用的重要原因。

  ■SCO Unix OpenServer 3中匿名FTP服务器的配置

  1.使用sysadmsh创建账户:ftp,组名为:ftp, 口令任意,shell为/bin/false(限制了telnet、su等操作),主目录可定为:/usr/ftp,确保ftp账户有惟一的UID。

  2.创建匿名ftp用户的工作目录。

  #chmod 500 /usr/ftp /usr/ftp/.

  #cd /usr/ftp

  #mkdir bin etc pub shlib dev

  #chmod 555 

  #cd pub

  3.建立文件上传目录。用户可将自己喜爱的软件上传至该目录下,待管理员认可后共享。

  #mkdir upload

  #chmod 755 upload

  图1:ftp与ftpd的匿名 FTP接口

  4.建立文件下载目录。各种软件在此目录分门别类存放,供用户下载。

  #mkdir download

  #chmod 555 download

  #chown ftp ; chgrp ftp 

  5.配置bin目录,实现列表操作。

  #cd /usr/ftp/bin

  #cp /bin/ls /bin/sh .

  #chmod 111 

  6.配置etc目录,使得列表时文件属主及组名显示正常。

  #cd /usr/ftp/etc

  #cp /etc/passwd /etc/group .

  7.为保证系统安全,编辑该目录下的passwd和group 文件,仅保留Unix系统最基本的用户和组名。

   #vi /etc/passwd

   #vi /etc/group

   #chmod 444 

  8.配置shlib及dev目录,实现正常传输。

  #cd /usr/ftp/shlib

  #cp /shlib/libc_s .

  #cd ..

  #find /dev/socksys -print|cpio -pdumv .

  #find /dev/null -print|cpio -pdumv.

  #cd dev

  #chown ftp ; chgrp ftp 

  ■SCO Unix OpenServer 5中匿名FTP服务器的配置

  SCO Unix OpenServer 5中匿名FTP的缺省主目录是:/usr/internet/ip/0.0.0.0/sco—ftp,系统管理员须首先将ftp账户主目录(/usr/ftp)按类似SCO OpenServer 3的操作方法配置完毕,再创建符号链接到/usr/internet/ip/0.0.0.0/sco—ftp目录即可。以下为详细步骤:

  1.使用命令scoadmin account建立账户ftp,具体要求同SCO OpenServer 3。

  2.创建匿名FTP用户的工作目录。chmod 500 /usr/ftp /usr/ftp/.

  #cd /usr/ftp

  #mkdir bin etc pub lib usr/lib dev

  #chmod 555 

  #cd pub

  #mkdir upload

  #chmod 755 upload

  #mkdir download

  #chmod 555 download

  #chown ftp ; chgrp ftp 

  3. 配置bin、etc目录。

  方法基本同SCO OpenServer 3,在SCO OpenServer 5中,/usr/ftp/bin/sh有无均可。

  4. 配置lib、usr/lib目录。

  #cd /usr/ftp/lib

  #cp /lib/libprot.so.1 .

  #cd ../usr/lib

  #cp /usr/lib/libc.so.1 .

  #cp /usr/lib/libsocket.so.1 .

  #cd /usr/ftp

  #chmod 555 lib/ usr/lib/; chown bin lib/ usr/lib/

  5. 配置dev目录。

  #cd /usr/ftp

  #find /dev/socksys -print|cpio -pdumv .

  #find /dev/zero -print|cpio -pdumv.

  6. 创建符号链接。

  首先检查目录(或链接)/usr/internet/ip/0.0.0.0/sco—ftp是否存在,如存在将其删除,然后执行以下命令:

  #ln -s /usr/ftp /usr/internet/ip/0.0.0.0/sco—ftp



此文章相关评论:
该文章有24个相关评论如下:(点这儿可以发表评论)
莫名 发表于: 2002/02/03 03:16pm
急人之所急,哈哈,好啊!!
 
lonelykiller 发表于: 2002/02/03 04:00pm
彼此,谢谢
 
莫名 发表于: 2002/02/03 04:16pm
还是你厉害的,给大家好多的共享资料,向你学习!!!敬礼!!!
 
lonelykiller 发表于: 2002/02/03 04:25pm
客气了,你是做啥的?
 
莫名 发表于: 2002/02/03 04:27pm
银行,计算机维护!!
 
sdccf 发表于: 2002/02/03 04:52pm
我也是做维护工作的。
 
lonelykiller 发表于: 2002/02/03 05:01pm
sdccf,你不会也是银行的吧!
 
maplefly 发表于: 2002/02/03 10:27pm
我照着上面的方法做了,可是运行ftp 本机ip,显示为connecion refused,怎么回事啊?
 
古董大叔 发表于: 2002/05/13 02:34pm
好东东
 
wgdzh 发表于: 2002/05/13 02:38pm
不错,向你学习!
 
byzajxd 发表于: 2002/05/14 04:17pm
我照着上面的方法做了(5.0.5),用户却无法登陆,为何?请指教

另:建用户时shell不包括/bin/false,建了用户后修改为/bin/false,ftp却无法登陆,请作者回答

 
guolei721 发表于: 2002/05/14 05:47pm
精华区有很详细的
看看吧
 
jacklam 发表于: 2002/05/19 03:11pm
[quote][b]下面引用由[u]byzajxd[/u]在 [i]2002/05/14 04:17pm[/i] 发表的内容:[/b]
我照着上面的方法做了(5.0.5),用户却无法登陆,为何?请指教
另:建用户时shell不包括/bin/false,建了用户后修改为/bin/false,ftp却无法登陆,请作者回答
[/quote]
同样问题,情解答。
 
yunn99 发表于: 2002/05/19 03:49pm
请允许我说一个小错误:
[quote]
#ln -s /usr/ftp /usr/internet/ip/0.0.0.0/sco—ftp
[/quote]

应该改为:
# ln -s /usr/ftp /usr/internet/ip/0.0.0.0/sco_ftp

 
sdccf 发表于: 2002/05/19 09:47pm
确实是个错误。
 
blueseazhang 发表于: 2002/05/19 09:54pm
有办法吗?
 
jacklam 发表于: 2002/05/19 10:45pm
就是ln的小问题在作怪,重新ln后可以登录,但所有目录都显示出来了,如何控制只显示需要共享的目录?
 
sdccf 发表于: 2002/05/19 10:59pm
改属性。
 
jacklam 发表于: 2002/05/19 11:20pm
改成什麽属性?
 
sdccf 发表于: 2002/05/20 06:43am
一般执行chmod 555 就可以了。
 
jacklam 发表于: 2002/05/20 10:43am
已经是555了,还看的见。
 
liuyang008 发表于: 2002/07/14 09:53pm
你们做完了,anonymous用户可以登录吗?
 
sdccf 发表于: 2002/07/14 09:58pm
anonymous就是匿名用户的意思,可以登陆的。
 
liuyang008 发表于: 2002/07/14 10:24pm
我知道版主,你的操作方法和这个帖子上面的一样吗?做完后就可以匿名登录吗?
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者