首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 操作系统 > Unix > 正文
  • SCO Unix中匿名FTP的实现
      2007-2-25  来源:网络资源  编辑:Jsbulo  热度:

      ■匿名FTP服务器的工作方式

      在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

      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