【1】文件共享服务
        1】FTP服务器
               能够实现公私网上不同操作系统之间的文件共享
        2】SMB服务器
              实现局域网内不同操作系统间的文件共享
        3】NFS服务器
              能实现linux/UINX系统之间的文件共享

【2】 FTP服务器简介
        1】控制通道 和 数据通道
        2】两种工作方式:PORT主动方式 和 PASV 被动方式
              主动:
                       client                         server
                       1024+  ----------------> 21
                       1024+N <---------------- 20
              被动:
                       client                  server
                       1024+  ----------------> 21  1024+M
                       1024+  <--------------- 
                       1024+N ----------------> 1024+M
   
        3】 vsftp 默认是根据客户端不同而使用不同模式,windows客户端则使用主动,linux客户端则使用被动

【3】 安装vsftpd软件包
           yum install vsftpd

【4】 配置相关


    1】主配置文件
          /etc/vsftpd/vsftpd.conf
          /etc/vsftpd.ftpusers                                           禁止登录用户列表
          /etc/pam.d/vsftp_user.list 与userlist_deny  配合使用 默认YES列表中成员不可以使用FTP  设置为NO时,列表内成员可以使用FTP
     2】匿名用户下载文件的目录
          /var/ftp 
     3】端口号
          20 : ftp-data
          21 : ftp控制
    
【5】 ftp服务器的常用配置
      

       1】常用的全局配置项
             listen=YES:                                       是否以独立运行的方式监听服务
             listen_address=192.168.4.1:       设置监听的IP 地址
             listen_port=21:                                 设置监听FTP 服务的端口号
             write_enable=YES:                          是否启用写入权限
             download_enable=YES:               是否允许下载文件
             userlist_enable=YES:                     是否启用user_list 列表文件
             userlist_deny=YES:                          是否禁用user_list 中的用户
             max_clients=0:                                  限制并发客户端连接数
             max_per_ip=0:                                   限制同一IP 地址的并发连接数
 
       2】常用的匿名FTP 配置项
            anonymous_enable=YES:                启用匿名访问
            anon_umask=022:                             匿名用户所上传文件的权限掩码
            anon_root=/var/ftp:                              匿名用户的FTP 根目录
            anon_upload_enable=YES:             允许上传文件
            anon_mkdir_write_enable=YES:    允许创建目录
            anon_other_write_enable=YES:     开放其他写入权
            anon_max_rate=0:                             限制最大传输速率,单位为字节

       3】常用的本地用户FTP 配置项
            local_enable=YES:                            是否启用本地系统用户
            local_umask=022:                             本地用户所上传文件的权限掩码
            local_root=/var/ftp:                              设置本地用户的FTP 根目录
            chroot_local_user=YES:                   是否将用户禁锢在主目录
            local_max_rate=0:                             限制最大传输速率(字节/秒)

【6】 限制本地用户登录

           把用户名加入ftpusers中
           或
           userlist_enable=YES                           启用user_list文件列表
           userlist_deny=YES/NO                        拒绝/允许user_list文件内的用户登录
  
           ftpusers 优先级高
 
           chroot_local_user=YES                      #限制所有本地用户在家目录里

           指定用户限制,非限制用户依旧可以畅通无阻
           chroot_local_user=NO
           chroot_list_enable=YES
           chroot_list_file=/etc/vsftpd/chroot_list   凡是名单中的人不允许离开HOME目录

【7】 建立ftp虚拟用户
           1】 建立用户数据库文件
                  test1
                  123
                  test2
                  123
                  test3
                  123

            2】 安装 db4-utils*软件包
                   yum install db4-utils*
  
            3】 制作数据库文件
                   db_load -T -t hash -f ~/ftpuser.txt /etc/vsftpd/vsftpd_login.db

            4】 建立验证模式文件
                   a]  备份/etc/pam.d/vsftpd
                         cp  /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
                   b]  编辑 /etc/pam.d/vsftpd
                         auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
                         account  required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
            5】 建立虚拟用户使用的系统用户
                   useradd -d /home/vsftp  virtual
                   chmod 755 /home/vsftp     
            6】 修改配置文件 启用虚拟用户
                   guest_enable=YES         #开启虚拟用户功能
                   guest_username=virtual   #指定虚拟用户使用的系统用户
                   pam_service_name=vsftpd 

                   virtual_use_local_privs  为 YES时 虚拟用户使用本地用户权限
                                                               为 NO时  虚拟用户与匿名用户相同权限
            7】 重启系统 登录测试
                   开启虚拟用户后,本地用户无法登录系统? 
  
            8】 添加per_user功能参数,并为每个(虚拟)用户创建配置文件
                   #echo "write_enable=NO" /etc/vsftpd/vsftp_user_conf/test1
                   禁止test1上传文件

【8】 客户端使用ftp服务
           1】连接服务器
                ftp 10.10.68.1
                或
                lftp 10.10.68.1
           2】上传与下载
                ftp                         登录时
                get test.txt           下载单个文件
                put te.txt              上传单个文件
                mget a2 a3 a4  下载多个文件
                mput d2 d3 d4  上传多个文件

                lftp登录时
                mirror b 下载文件或目录

    

Logo

更多推荐