快速业务通道

用Linux架设FTP服务器(上)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-05
上“/./”把“/home/ftp”目录和“/ftpadmin”目录分开,用户“ftpadmin”会自动转到(chdir)“/ftpadming”目录下。在“passwd”文件中每添加一个ftp用户都要重复这个步骤。   编辑“passwd”文件(vi /etc/passwd),把下面这一行改为:   ftpadmin:x:502:502::/home/ftp/ftpadmin/:/dev/null   改为:   ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null   帐号为“ftpadmin”,这这个帐号的家目录有一些奇怪。第一部分“/home/ftp/”表示“chroot”时作为根目录的目录。被点号分开的“/ftpadmin”表示当登录ftp服务器的时候会自动转到这个目录。“/dev/null”这个空shell不允许“ftpadmin”像正常用户那样登录。经过这些改变,“ftpadmin”用户用的不是真正的shell而是伪shell,这样访问ftp服务器就受到限制。 创建一个“chroot”用户环境
先要创建一个简单的根文件系统(root file system),包含有足够的文件,如果二进制程序、口令文件,等等。当用户登录的时候,Unix就可以改变根文件系统(chroot)。注意一下,如果编译的时候象上面那样加上“--enable-ls”参数,“/home/ftp/bin”和“/home/ftp/lib”两个目录就可以不要了,因为WU-FTP会用自己带的“ls”。不过我们还是介绍一下旧的方法,也就是把“/bin/ls”拷贝到“/home/ftp/bin”(chroot之后就是“/bin”)目录下,然后把相关的运行库拷贝到“/home/ftp/lib”目录下。 [page] 第一步

  创建改变根文件系统(chrooted)环境所需要的所有的目录:   [root@deep]# mkdir /home/ftp/dev
  [root@deep]# mkdir /home/ftp/etc
  [root@deep]# mkdir /home/ftp/bin (require only if you are not using the “--enable-ls” option)
  [root@deep]# mkdir /home/ftp/lib (require only if you are not using the “--enable-ls” option)   第二步

  把新目录的权限设成0511:   [root@deep]# chmod 0511 /home/ftp/dev
  [root@deep]# chmod 0511 /home/ftp/etc
  [root@deep]# chmod 0511 /home/ftp/bin (require only if you are not using the “--enable-ls” option)
  [root@deep]# chmod 0511 /home/ftp/lib (require only if you are not using the “--enable-ls” option)   上面这些“chmod”命令把chrooted之后的“dev”、“etc”、“bin”和“lib”目录设置成超级用户“root”可读、可执行,用户组和所有用户可执行。   第三步

  把“/bin/ls”文件拷贝到“/home/ftp/bin”目录下,并把“ls”的权限改为0111(不运行用户改变这个文件)。   [root@deep]# cp /bin/ls /home/ftp/bin (require only if you are not using the “--enable-ls” option)
  [root@deep]# chmod 0111 /bin/ls /home/ftp/bin/ls (require only if you are not using the “--enable-ls” option)   第四步

  找到“ls”程序所需的共享库:   [root@deep]# ldd /bin/ls (require only if you are not using the “--enable-ls” option)   libc.so.6 => /lib/libc.so.6 (0x00125000)
  /lib/ld-Linux.so.2 => /lib/ld-linux.so.2 (0x00110000)   把共享库拷贝到“/home/ftp/lib”目录下:   [root@deep]# cp /lib/libc.so.6 /home/ftp/lib/ (require only if you are not using the “--enable-ls” option)
  [root@deep]# cp /lib/ld-linux.so.2 /home/ftp/lib/ (require only if you are not using the “--enable-ls” option)   注意:如果想用Linux的“ls”程序而不是用WU-ftpd自带的“ls”(编译时加上“--enable-ls”参数),才需要第三和第四步。   第五步

  创建“/home/ftp/dev/null”文件:   [root@

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号