Redhat5.4 下vsftp的安装及简单配置

  1. 云栖社区>
  2. 博客>
  3. 正文

Redhat5.4 下vsftp的安装及简单配置

余二五 2017-11-16 20:13:00 浏览913
展开阅读全文

           Redhat5.4 下vsftp的安装及简单配置
     1.FTP(文件传输协议):它的主要功能是在服务器与客户端之间进行文件的传输.它是以TCP数据包的模式进行服务器与客户端的连接.
    2.FTP支持的工作模式有两种:主动连接与被动连接
      1>主动连接:
           FTP客户端随机开启一个大于1024的端口n,并且和服务器的21端口进行三次握手,建立连接,但这个连接只是控制连接,它可以通过这个连接对FTP服务器下达指令,但是不能进行数据的传输,如果要进行数据传输的话,FTP客户端会随机用一个端口通知FTP服务器,FTP服务器会启用自己的20端口与客户端进行连接,连接完成后才能进行数据的传输.
     2> 被动连接
          被动连接的控制连接是和主要连接一致的,只是在商户端要求传输数据时,商户端会传送一个PASV命令,通知服务器他们之间要建立被动连接,服务器收到命令后会开放一个大于1024的端口进行监听,并且会通知客户端,自己的端口号,客户端收到命令后,通过自身的随机端口与服务器开放的端口相连接,然后两者开始传输数据.

   3.vsftp的简介与配置
        1>  vsftpd(Very Secure FTP ,非常安全的FTP)是一个基于GPL发布的类UNIX系上的FTP软件,它具有高安全性,高速与高稳定性的特性.
        2> vsftp的安装
          
        3> vsftp的认证用户
            1>>匿名用户:vsftpd默认允许匿名用户以只读方式登录
            2>>授权用户,授权用户是进行访问vsftpd时,必须输入密码的用户.它又包含两种:本地用户与虚拟用户
                 本地用户:即linux主机中/etc/passwd中的用户.
                 虚拟用户:vsftpd支持将用户及密码保存在本地数据文件,数据库,或LDAP中,虚拟用户只是FTP服务器的专有用户,它只能访问FTP服务器所提供的资源,增强了系统本身的安全性.
        4>vsftpd下各文件的介绍
             1>> /etc/vsftpd/vsftpd.conf
                  这个是主配置文件,各用户的权限的设置也是在这个文件中设置.
              2>> /etc/pam.d/vsftpd
                    这个是vsftpd使用PAM模块时的相关配置文件,用来加强服务器用户认证.
              3>> /etc/vsftpd.ftpusers
                    位于这个文件内的用户都不能访问vsftpd服务.
              4>> /etc/vsftpd.user_list
                    这个文件中的用户为是否能够访问vsftpd,它取决于配置文件中的参数userlist_deny,如果为no,则只有此文件的用户才能访问vsftp,如果为yes,则此文件中的用户不能访问vsftp
              5>> /var/ftp
                   vsftpd提供服务的文件的位置,也就是用户登录的后所处的目录.
        5>vsftd配置文件的参数分为三个方面:
             1>>与服务器环境相关的设定
             2>>与实体用户相关的设定
             3>>与匿名用户相关的设定
            由于他们的参数比较多,所以就不在这一一介绍,可以参数另外一些书籍来查看,在下面的测试中会把经常使用的一些参数做一个简短的介绍.

示例1     要求:   

                    1...允许匿名用户登录和本地用户登录
                    2...禁止匿名用户上传
                    3...允许本地用户上传和下载
                    4...能让本地用户code来登录ftp服务器,可以上传与下载,但是限制code用户只能在自己目录内操作
       配置参数如下
           
 参数释意
  anonymous_enable=yes   // 允许匿名账号登录
  local_enable=yes          //允许本地用户登录
  write_enable=yes          //允许非匿名用户上传文件到FTP服务器
  local_umask=022          //授权用户上传文件的umask
  anon_uoload_enable=no    //不允许匿名用户上传文件
  anon_mkdir_write_enable=no //不允许匿名用户在FTP上建立目录
  dirmessage_enable=yes     //用户在FTP服务器切换目录时显示欢迎信息,,可以在每个目录下建立一个.message的文件,里面放入欢迎信息
  xferlog_enable=yes          //指定用户使用的日志文件
  connect_from_port_20=yes   //使用20端口传输数据
  xferlog_std_format=yes       //使用标准日志文件来记录日志
  chroot_local_user=yes        //不允许所有用户离开自己的家目录
  listen=yes                    //表示vsftp是以stand alone方式启动
  pam_service_name=vsftpd     //指定vsftpd使用的PAM模式的配置文件
  userlist_enable=yes          //指定vsftp将读取user_list参数指定的用户列表
 userlist_deny=no          //指定只有user_list中的用户才能登录vsftp服务器
 tcp_wrappers=yes         是否允许tcp_wrappers管理

配置之后,将code写入到user_list中
测试:
    以匿名用户登录
        
测试成功,不能上传文件
   以code登录
        
  允许上传,测试成功
      

       错误分析    

        lftp 192.168.1.104:/> put install.log.syslog 

       put: Access failed: 553 Could not create file. (install.log.syslog)

    这个说明要上传的目录没有可写的权限,为其加上写入权限即可

    如chmod 757 /var/ftp/upload

       lftp 192.168.1.104:~> put install.log

       put: 登录失败: 500 OOPS: vsftpd: refusing to run with writable anonymous root

     /var/ftp系统自动限制匿名用户不能有写权限的,如果要上传文件,可以在/var/ftp下创建一个目录,如/var/ftp/upload   再把这个目录的other权限加上可写的权限











本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1032766,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注