FTP服务的配置与虚拟用户的使用

FTP简介:
  FTP 协议是目前最长用的网络文件传输协议,FTP协议从出现到如今已经有40年历史了.
此协议传输是基于明文.为C/S构架的协议.
  传输时使用两个端口,分别为21端口和20端口.基于TCP链接.
  21端口用于命令传输   (命令连接一直保持活动状态)
  20端口用于数据传输   (可同时存在多个链接)
  服务器两种数据传输模式: 模式由客户端决定
  1.主动模式
  2.被动模式数据库

登录的用户类型:
  1.匿名用户 : anonymous  以 ftp 用户身份登录
  2.本地用户 : 及帐号密码信息保存在passwd,shadow中的用户.
  3.虚拟用户 : 后面有详细介绍.vim

常见的FTP服务器:
  IIS ,  Serv-U    (windows上)
  wu-ftpd, proftpd     (Linux上)
  pureftpd  ,proftpd功能强 
  vsftpd(Very Secure FTP Daemon)  Redhat上默认,安全性高,但功能少
常见的客户端:ftp,lftp, gftp, fliash fxp, cuteftpwindows

#这里以vsftpd为基础介绍安装配置FTP服务器:安全

vsftpd以ftp用户的身份运行.ftp用户的家目录位于:/var/pub
 
安装:
  1.配置好yum源
  2.yum install vsftpd
 
启动:
  server vsftpd start
   [此时ftp服务应经可使用了,需共享的文件复制到/var/pub/便可]服务器

配置:vsftpd 的配置文件在目录/etc/vsftpd/ 下
  1.主配置文件:/etc/vsftpd/vsftpd.conf
  2.用户控制文件:
     /etc/vsftpd/ftpusers   :拒绝访问列表
     /etc/vsftpd/user_list  :根据用户配置决定
主配置文件中经常使用配置选项:
max_clients          定义用户最大链接数
max_per_ip           定义一个IP的最大链接数
chroot_localuser     把全部用户锁到家目录
anonymous_enable=NO  匿名用户登录
pam_service
userlist_enable=YES
userlist_deny=YES 网络


vsftpd的高级配置:
虚拟用户的配置使用:   [注:配置后本地用户将没法登录]
基本步骤:
1.创建虚拟FTP用户的账号数据库文件
2.建立FTP根目录及虚拟用户映射的系统用户
3.创建支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户创建独立的配置文件
6.从新加载vsftpd配置
7.使用虚拟FTP帐户访问测试ide

一.创建帐号数据库
   1.vim /etc/vsftpd/vusers.list   目录可自定义
   mike
   123
   john
   321
  2.cd /etc/vsftpd/
  3.bd_load -T -t hash -f vusers.list   vusers.db   ( yum install db4-utils)
  4. chmod 600 vusers.*    (为了安全更改权限)
二.建立FTP根目录及虚拟用户映射的系统用户
  1.mkdir /var/ftproot
  2.useradd -d /var/ftproot -s /sbin/nologin virtual
  3.chmod 755 /var/ftproot
  4.chown virtual:virtual /var/ftproot (*此步如不配置,登录后操做会报权限错误)
三.创建支持虚拟用户的PAM认证文件
  1.vim /etc/pam.d/vsftpd.vu
   写入如下内容:
#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vusers
account    required     pam_userdb.so db=/etc/vsftpd/vusers
                                                      ↑
                                             对应第一步创建的vusers.db
四.在vsftpd.conf文件中添加支持配置
  1.vim /etc/vsftpd/vsftpd.conf
配置或添加如下内容:
anonymous_enable=NO          --此项更改
local_enable=YES
write_enable=YES
anon_umask=022                    --此三项默认应该有
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu  --此三项需添加测试

五.为个别虚拟用户创建独立的配置文件
     1.vim /etc/vsftpd/vsftpd.conf
        添加以下内容:
        user_config_dir=/etc/vsftpd/vusers_dir  ("="后为定义的配置文件目录)
     2.mkdir /etc/vsftpd/vusers_dir    (创建上面定义的目录)
     3.cd /etc/vsftpd/vusers_dir         (创建配置文件)
         touch mike                              (创建mike配置文件,为空)
         vim john                                  (创建并编辑配置文件)
   在john配置文件中添加以下内容:
anon_upload_enable=YES
anon_mkdir_write_enable=YESui

六.从新加载vsftpd配置
     1.service vsftpd reload
七.使用虚拟FTP帐户访问测试
    测试结果应为:
     1. mike用户能够登陆,并能够浏览、下载文件,但没法上传
     2. john用户能够登陆,并能够浏览、下载文件,也能够上传
     3.匿名用户或其余系统用户将不能登陆
 server

相关文章
相关标签/搜索