用vsftpd搭了一个FTP

Popularity: 34%,  Linux, 技术探讨Tech

       相比起Windows平台下强大的Serv-U,这vsftpd还真是难弄,费了好长时间呢,不过,学了好多知识感觉,真不错。记一下遇到的难题:

       已有环境是在VMware中的linux通过NAT方式联网,ip为192.168.37.10。目的是搭建一个FTP服务器,监听端口改21为2121。设定A、B两个用户,A用户仅有只读权限,B用户有写权限,并且禁止匿名访问。

       1.编译与安装。相对于RPM安装方式,现场编译安装的机动性更强一些,可是因此也会遇到一些问题。比如,编译之前的builddefs.h这个头文件,如果有特殊需求就要进行修改。这里不考虑SSL安全链接,并且需要用到PAM来配置虚拟用户,所以对保持默认不进行修改。然后直接make。在make install之前必须手动做的一步是需要建立ftp目录和ftp用户匿名的ftp用户,否则make install会报告不存在目录而失败。

       2.整个vsftpd的配置精髓都存在于一个文件之中:vsftpd.conf。我们既然要用PAM来进行虚拟用户管理,那么就要手动生成一个虚拟用户的数据库,然后创建一个对应的PAM文件和本地的用户virtual。这样,所有的其他用户都以virtual用户来代替了。修改vsftpd.conf使之不能匿名,然后添加这两行

guest_enable=YES
guest_username=virtual

       这样就使得其他用户都映射到virtual用户。之后通过设定user_config_dir参数来实现对不同用户的不通权限设置。

       3.为了安全性考虑,通过修改listen_port到2121,将监听端口改到2121。还有,在实现PASV方式传输的时候,vsftpd可是实现对高端口的区间设置。

pasv_min_port=2000
pasv_max_port=2999

       这样pasv模式下高端口就只局限于2000和2999这1000个端口,这种设置的好处是方便通过iptables来制定防火墙规则。下次有空准备看下iptables。

       4.开防火墙,实现访问。

       文章记的比较简单,可是这段过程并不简单,自己反复尝试了n遍,连续开启vsftpd又pkill了n遍,才最终跑出上面的需求来。除了熟悉了不少操作之外,还有一点就是,有时遇到麻烦的问题,google出的结果不一定非常适合自己,相反,软件的文档(比如INSTALL文件和EXAMPLE中的几个README)还是相当不错的参考,有疑问时非常值得去读。

       另外贴一下相关的几篇好文:

http://www.linuxsir.org/main/?q=node/152 《vsFTPd 服务器初学者指南》
http://bbs.chinaunix.net/viewthread.php?tid=574966 《主动FTP与被动FTP-权威解释》

Comments So Far: None
  • :em00:我顶
  • :em02:
  • :em03:嘿嘿
  • :em04:拍砖
  • :em01:不行
  • :em05:兴奋
  • :em06:撞墙
  • :em07:好困
  • :em08:耶!
  • :em09:不嘛
  • :em10:
  • :em11:
  • :em12:最爱
  • :em13:变!
  • :em15:我晃
  • :em14:得意
  • :em16:不知道
  • :em17:杀你
  • :em18:陶醉
  • :em19:给我醒醒
  • :em20:谁?
  • :em21:再见了
  • :em22:走咯
  • Leon , what's going on ?

    {我喜欢我四岁的时候怀疑一切的眼光}

    标签云

  • 最新评论

    • triStoneL: 又是这个模板.....
    • Lemok: 都看不懂。 :em15: 不过真NB啊…… :em00...
    • Eric: 感兴趣的话,我们可以交流下,我在...
    • Julia: 啊!这个好看……我也要…… 审美...
    • xixi: 你还真是安静……中午吃饭的时候忽...
    • Viv: 那个还曾经是冰岩人的集体消遣....在...
    • Viv: 那个还是冰岩人很长一段时间内的集...
    • triStoneL: 不错不错.....
    • triStoneL: 买卖奴隶... 被包子bs了.....
    • aw: aw,这个每天还是穿着hustonline6周年纪...
  • Sponsored Link