一、基本内容概述:
   1、FTP服务的基本概念 
         FTP是用于进行文件传输的网络协议
         FTP服务中分为服务器和客户机两个角色
   2、FTP服务器的传输模式
         主动模式:由服务器主动连接客户机建立数据链路
         被动模式:FTP服务器等待客户机建立数据链路
   3、FTP服务器使用的端口
         21端口用于与客户机建立命令链路
         在主动模式下服务器使用20端口向客户机建立数据链路
   4、安装FTP服务器注意事项:
   1)配置服务器IP地址(ifconfig eth0 192.168.1.33 netmask 255.255.255.0)
   2)关闭防火墙(service iptables stop)
二、实验总结:
  1、实验背景:BENET公司由于业务要求,需要假设一台FTP服务器。出于系统稳定和
        安全等多方面考虑,决定使用RHEL4作为服务器平台,在其上安装VSFTP软件包。
  2、试验拓扑:C\S模式(略)
三、实验步骤:
  1、安装vsftp软件包;(第一张安装光盘中)
        #rpm -ivh vsftpd-2.0.1-5.i386.rpm      
  2、建立虚拟用户口令库文件logins.txt(奇数行是用户名,偶数行是口令)
        #vi logins.txt
        wang
        wp123
        peng 
        wp456
  3、生成vsftpd的认证文件(/etc/vsftpd/vsftpd_login.db)
   1)  安装3个支持的软件包    ;
        #rpm -ivh db4-java....
        #rpm -ivh db4-tcl....
        #rpm -ivh db4-utils....
   2)  使用db_load命令生成认证文件;
        #db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
   3)  设置认证文件的权限;
        #chmod 600 /etc/vsftpd/vsftpd_login.db
  4、建立虚拟用户所需的PAM配置文件;
        #vi /etc/pam.d/vsftpd.vu
        auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
        account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
  5、建立虚拟用户及要访问的目录并设置相应的权限
        #useradd -d /home/ftpsite virtual
        #chmod 700 /home/ftpsite
  6、设置vsftpd.conf配置文件(添加虚拟用户的配置项)
        #vi /etc/vsftpd/vsftpd.conf
         guest_enable=YES
         guest_username=virtual
         pam_service_name=vsftpd.vu
  7、重新启动vsftpd服务程序;
        #service vsftpd start
  8、测试虚拟用户帐号的FTP登录 ;
        #ftp localhost
  9、对不同的虚拟用户设置不同的权限;
   1) 设置主配置文件
        在vsftpd.conf文件中添加用户配置文件目录设置
        user_config_dir=/etc/vsftpd_user_conf
   2)  建立用户配置文件目录
        # mkdir /etc/vsftpd_user_conf
   3)  为虚拟用户建立单独的配置文件
      a.用户配置文件名称与用户名相同
        /etc/vsftpd_user_conf/mike
        /etc/vsftpd_user_conf/john
      b.每个FTP虚拟用户都可以独立设置其权限
        anon_world_readable_only=NO
        anon_upload_enable=YES
        anon_mkdir_write_enable=YES
        anon_other_write_enable=YES
       
        完成!