(1) Vsftpd服务是做什么用的?

    答:Vsftpd服务是用来在windows和Linux之间共享文件


(2) 软件大的安装方法?是在服务端安装还是在客户端安装?安装命令是什么?

   答: 软件是在服务端安装,yum install  vsftpd* -y


(3) 路径,配置文件,启动文件

答:

    安装路径: rpm  -ql   vsftpd    

   

    配置文件:/etc/vsftpd/vsftpd.conf  


    启动文件: /etc/rc.d/init.d/vsftpd


(4) 启动Vsftpd服务,查看进程

 答:

        <1> 启动Vsftp服务  service Vsftpd start

         <2> 查看服务进程是否启动    ps -ef |grep vsftpd

         wKioL1nR6sGwQKFuAABjWW-G4wk707.jpg-wh_50

----------------------------------  匿名用户访问Vsftpd---------------------------------------


 (1) Vsftpd.conf配置文件中默认是允许匿名用户访问的

      anonymous_enable=YES  开启匿名用户访问


(2) ftp://192.168.2.114  测试Vsftpd访问是否成功

   Vsftpd服务_第1张图片



(3) Vsftpd默认在Linux下的路径是 cd /var/ftp/pub


(4) 匿名用户访问ftp服务器,可以查文件,下载文件,文件不能删除和修改和上传,如果要设置成匿名用户可以上传,下载,修改文件需要做以下设置

   <1>  在vsftpd.conf配置文件上添加几句命令:

       anon_upload_enable=YES     允许匿名用户上传文件    

       anon_mkdir_write_enable=YES  允许匿名用户创建目录

       anon_other_write_enable=YES  允许匿名用户其他写入权限


   <2> 设置目录权限   

ftp默认目录为/var/ftp,默认情况下,里边只有pub目录。我们建立一个test目录来作为我们的测试目录并做好授权。

 wKioL1nSACOhi34yAAA29EIJE8M604.jpg


<3> 关闭selinux 和iptables  , 不关闭也会导致访问不成功


                                                 系统用户访问Vsftpd


 <1>Vsftpd匿名用户设置完毕,任何人都可以查看FTP端的文件,目录,甚至可以修改,删除,Vsftpd系统用户可以实现这一需求


<2> 修改Vsftpd.conf配置文件

   禁止匿名用户登录FTP anonymous_enable=NO


<3>新建系统用户,并创建登录密码


<4> 系统用户登录FTP,Linux上文件的家目录存放在home目录下

  

 <5> 验证登录是否成功

  Vsftpd服务_第2张图片


------------------------------允许userlist列表里的系统用户登录FTP--------------------------------


<1> userlist列表里定义了root等系统内置用户,允许这些用户登录FTP系统,权限很大,风险高,

        系统默认禁止这些系统用户登录FTP


<2>允许userList列表里的用户登录FTP  userList_enable=NO


<3> 我们假设允许Root用户登录FTP, 还需要修改/etc/vsftpd/user_List 和 /etc/vsftpd/ftpusers  去除root用户


<4> root用户的家目录在cd /root下


<5> 验证root用户登录是否成功

wKioL1nS-RLB6Fy-AAAxvz1HbfA286.jpg-wh_50


------------------------------  虚拟用户登录Vsftpd-------------------------------------------


 <1> 如果是基与系统用户去访问FTP, 系统用户越多,越不利于管理 。为了安全起见,还是用虚拟用户登录FTP


<2> 虚拟用户是共享真实用户的家目录


<3> 安装虚拟用户的认证模块

    yuminstall db4* -y (centos6.5) 

    yum  install pam*  libdb-utils libdb* --skip-broken  –y  (Centos 7)


<4> 创建并生成Vsftpd数据库文件

   vi /etc/vsftpd/ftpusers.txt

   第一行为ftp虚拟用户登录名,第二行为密码


<5> 生成数据库文件

db_load -T -t hash -f /etc/vsftpd/ftpusers.txt/etc/vsftpd/vsftpd_login.db

     

chmod 700 /etc/vsftpd/vsftpd_login.db


 <6> 生成PAM验证文件

      在 vi  /etc/pam.d/vsftpd  行首加入2行认证语句

    

auth         sufficient         pam_userdb.so     db=/etc/vsftpd/vsftpd_login

account   sufficient          pam_userdb.so     db=/etc/vsftpd/vsftpd_login


  <7> 创建Vsftpd映射本地用户

      这个系统用户不需要登录,也不需要登录密码

useradd  ftpuser


 <8> 修改vsftpd.conf配置文件(完整的配置文件如下)  

   anonymous_enable=NO禁止匿名用户登录

   local_enable=YES             

   write_enable=YES             

   local_umask=022              

   dirmessage_enable=YES        

   xferlog_enable=YES          

   connect_from_port_20=YES     

   xferlog_file=/var/log/vsftpd.log

   xferlog_std_format=YES

   ascii_upload_enable=YES

   ascii_download_enable=YES

   listen=YES

   guest_enable=YES  启用虚拟用户

   guest_username=ftpuser  映射虚拟用户到系统用户ftpuser

   pam_service_name=vsftpd  启用虚拟用户pam认证

   user_config_dir=/etc/vsftpd/vsftpd_user_conf  设置虚拟用户所在目录

   virtual_use_local_privs=YES 虚拟用户与本地用户有相同的权限


<9> 重启vsftpd 

   service vsftpd restart


<10> 验证配置结果

  我们用jfedu001这个用户,登录到FTP

 Vsftpd服务_第3张图片


<11> 用户的家目录在cd  /home/ftpuser

  注释:

            至此,虚拟用户共用的家目录是home/ftpuser。如果虚拟用户想要有自己的家目录,可以在

       /etc/vsftpd/vsftpd_user_conf创建自己的配置文件,这样登录用户对自己目录下的文件,有完全控制权。


<12> 在这个/etc/vsftpd/vsftpd_user_conf 目录下,创建虚拟用户自己的配置文件

   mkdir -p  /etc/vsftpd/vsftpd_user_conf


<13>  我们为jfedu001这个用户创建自己的家目录

 vim /etc/vsftpd/vsftpd_user_conf/jfedu001 

   local_root=/home/ftpuser/jfedu001  jfedu001这个虚拟用户配置文件路径

   write_enable=YES                   允许登录用户有写的权限

   anon_world_readable_only=YES       允许匿名用户下载文件

   anon_upload_enable=YES             允许匿名用户上传文件

   anon_mkdir_write_enable=YES        允许匿名用户创建目录

     anon_other_write_enable=YES                        允许匿名用户有其它权限,例如删除,重命名


<14> 创建虚拟用户各自的目录

    mkdir -p /home/ftpuser/{jfedu001,jfedu002} 

  chown -R ftpuser:ftpuser /home/ftpuser


<15> 重启vsftpd,验证配置结果