ftp是相当古老的传输协议之一,它的主要功能是在服务器与客户端之间进行文件传输。vsftpd是Linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。下面以rhel5.0 linux下介绍vsftpd的安装、配置。


实验坏境:文章来自:http://www.aiezu.com
操作系统:Red Hat Enterprise Linux AS 5.0
内核版本:2.6.18-8.el5
CPU构架:i386 SMP
附件软件:Red Hat Enterprise Linux AS 5.0 DVD ISO文件


在rhel linux下安装vsftpd服务
  1. 通过yum方式安装:
   # yum groupinstall "FTP Server"
   注:如果您的linux操作系统没有rhn上注册,并且未配置yum,请看此文:
     http://www.aiezu.com/Article/Linux_Yum_Packets_admin.aspx

文章来自:http://www.aiezu.com

  2. 通过rpm命令安装
   # mkdir -p /mnt/iso
   # mount -o loop /opt/rhel5.0.iso /mnt/iso
   # rpm -ivh /mnt/iso/Server/vsftpd-2.0.5-10.el5.i386.rpm 


  3. 通过源码编译的方式安装vsftpd
   tar -zxvf vsftpd-2.0.5-10.tar.gz
   cd vsftpd-2.0.5-10
   make && make install


vsftpd 相关文件和目录介绍
  1. /etc/vsftpd/vsftpd.conf
   linux vsftpd最主要的配置文件
  2. /etc/vsftpd/ftpusers
   此文件用来设置不允许访问ftp服务的用户,一行一个用户名。
  3. /etc/vsftpd/user_list
   vsftpd自带的访问阻止功能,此文件能否生效由vsftpd.conf的userlist_enable,userlist_deny两个参数决定。文章来自:http://www.aiezu.com
  4. /etc/pam.d/vsftpd
   这个是vsftpd使用pam模块的相关设置文件,主要用来认证身份和阻止特定用户。
  5. /usr/sbin/vsftpd
   vsftpd的主要执行文件。
  6. /etc/rc.d/init.d/vsftpd
   vsftpd服务管理文件。
  7. /var/ftp
   vsftpd的默认匿名用户登录的根目录。

文章来自:http://www.aiezu.com

Linux vsftpd配置参数介绍:
  linux vsftpd的配置参数很多,我们可以通过man 5 vsftpd.conf命令获取到vsftpd.conf配置文件的详细帮助信息。下面介绍一些vsftpd常用的参数。
  1. 与服务器相关的设置参数
   connect_from_port_20=YES|NO
   是否使用20号端口做为ftp-data的端口号
   listen_port=21
   设置ftp命令通道的端口号
   dirmessange_enable=YES|NO
   message_file=.message
   上面两个参数用来配置用户进入到目录时显示某个文件中的内容。
   listen=YES|NO
   设置vsftpd是否stand alone方式启动。
   pasv_enable=YES|NO
   是否开启被动模式。
   write_enable=YES|NO
   用来设置是否允许用户上传文件。
   idle_session_timeout=300
   如果用户300秒内没有命令操作,则强制离线。
   max_Clients=0
   当vsftpd以stand alone运行时,用来设置最大同时在线数。
   max_per_ip=0文章来自:http://www.aiezu.com
   用于设置同一IP允许的同时最大连接数。
   pasv_max_port=0
   pasv_min_port=0
   用来设置被动模式(passive mode)使用的端口范围,为0时不受限制。
   ftpd_banner="欢迎语句"
   banner_file=/path/file
   设置当用户连接到vsftpd服务器时显示的欢迎信息。

  2. 与用户相关的参数
   guest_username=ftp
   指定来宾用户身份的用户名
   guest_enable=YES|NO
   是否将非匿名用户映射成来宾用户。
   local_enable=YES|NO
   是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。
   local_max_rate=0文章来自:http://www.aiezu.com
   设置实体用户的传输速度,单位为bytes/s。
   chroot_local_user=YES|NO
   chroot_list_enable=YES|NO
   chroot_list_file=/etc/vsftpd/chroot_list
   用来设置哪些用户被限制在自己的目录内无法离开。
   userlist_enable=YES|NO
   userlist_deny=YES|NO
   userlist_file=/etc/vsftpd/user_list
   用来阻止相关用户登录到vsftpd服务器。
文章来自:http://www.aiezu.com
  3. 匿名用户相关的参数
   anonymous_enable=YES|NO
   是否允许anonymouns用户登录到vsftpd服务器,下面的设置仅在此参数为YES时才有效。
   anon_world_readable_only=YES|NO
   仅仅允许下载可读的文件。
   anon_mkdir_write_enable=YES|NO
   anon_upload_enable=YES|NO
   anon_other_write_enable=YES|NO
   用于设置相关可写权限。
   no_anon_password=YES|NO
   anonymous登录时是否可以省略密码。
   anon_max_rate=0
   设置anonymous的最大传输速度。
   anon_umask=077
   anonymous用户上传文件的权限掩码。

  4. 与安全相关的参数:
   ascii_download_enable=YES|NO
   ascii_upload_enable=YES|NO
   是否允许ascii方式传输。
   xferlog_enable=YES|NO
   xferlog_file=/var/log/vsftpd.log
   是否记录用户下载上传的文件。

文章来自:http://www.aiezu.com

Linux下vsftpd服务的启动
  1. 使用stand alone模式启动:
   # /etc/rc.d/init.d/vsftpd start
   # service vsftpd start
  2. 使用super daemon来启动:
   ①. 将/etc/vsftpd/vsftpd.conf中的"listen=YES"改成"listen=NO"
   ②. # vi /etc/xinetd.d/vsftpd

  1. service ftp  
  2. {  
  3.   socket_type=stream  
  4.   wait=no  
  5.   user=root  
  6.   server=/usr/sbin/vsftpd  
  7.   log_on_success+=DURATION USERID  
  8.   log_on_failure+=USERID  
  9.   nice=10  
  10.   disable=no  
  11.  }  
  12. #注意大小写

  ③. # service vsftpd stop
    # service xinetd restart
     
常见问题:
  1. 问:我在客户端成功的登录到ftp服务器上后,为什么使用dir命令没有任何反应?
      答:您可能位于局域网内,请尝试使用被动模式。
  2. 问:为什么我的root用户不能登陆到我的vsftpd ftp服务器?
      答:linux默认情况下不允许root登陆到ftp服务器的,在ftpuser,user_list去掉root用户就可以登录了。

此文章由 Admin 于 2010-07-04 21:36:50 编辑

本日志由 Admin 于 2010-07-04 19:16:22 发表,目前已经被浏览 2322 次,评论 13 次;

作者添加了以下标签: linuxvsftpftpanonymousRhel

引用通告:http://www.aiezu.com/Article/27/Trackback.ashx

评论订阅:http://www.aiezu.com/Article/27/Feeds.ashx

评论列表

  1. 2010-12-13 13:50:28 | # | 回复
    学习了,看来以后要进来看看.
  2. 2011-02-25 13:36:32 | # | 回复
    过来看看...
  3. 2011-06-11 10:44:53 | # | 回复
    下载上传的文件
  4. 2011-06-28 10:43:24 | # | 回复
    好,,,,,
  5. 2011-08-19 14:22:48 | # | 回复
    谢谢分享
  6. 2011-08-27 09:54:19 | # | 回复
    坚持热议
  7. 2011-11-03 23:44:46 | # | 回复
    很好 很强大
  8. 2011-11-18 09:00:41 | # | 回复
    看来~~自己以后要多来看看了!
  9. 2011-12-28 11:31:25 | # | 回复
    witness saw him. Should any object to this inference drawn from the silence of Bassett; to them
  10. 2011-12-29 13:41:20 | # | 回复
    Thanks for you sharing.That is good article.I like it.
  11. 2012-01-07 15:20:10 | # | 回复
    like this article very much because it is technical and very much useful for me to gather more knowledge.
  12. 2012-03-22 14:29:18 | # | 回复
    好东西啊
  13. 2012-04-29 14:28:40 | # | 回复
    7I have nothing to offer but blood, boil, tears and sweat.four
(必填)
(必填,不会被公开)
你的评论在博主审核后方可公开。