Centos7 vsftpd搭建和虚拟用户

1、vsftpd简介

        vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

2、特点

vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;

任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;

所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;

此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

 

 

3、需要的软件

       vsftpd

4、安装及配置

        1、安装vsftpd

            关闭selinux  修改后需要重启生效

            Centos7 vsftpd搭建和虚拟用户_第1张图片

              关闭防火墙

            

               安装

           

         vim /etc/vsftpd/vsftpd.conf

         详细信息参考点击打开链接

           创建用户

            Centos7 vsftpd搭建和虚拟用户_第2张图片     

          启动vsftpd

            

           测试用户

             Centos7 vsftpd搭建和虚拟用户_第3张图片

              因为我使用的时默认的配置文件所以没有限制用户在本地目录,而使用这样的设置风险非常大,不小心就会删掉重要配置文件,所以一定要设置限制用户在本地用户,使用chroot_list,而在我做的过程中遇到一个报错:

             Centos7 vsftpd搭建和虚拟用户_第4张图片

        这个错误是因为从2.3.5版本之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能在具有写权限!如果检查有写权限就会报错。

        解决方法 1、给用户的主目录去掉写权限

                      2、可以在vsftpd配置文件中增加一行

                            allow_writeable_chroot=YES

        修改之后就可以登录了,而且登陆后它的主目录直接成为了自己的根目录。

             Centos7 vsftpd搭建和虚拟用户_第5张图片                

 

      编辑配置文件

             Centos7 vsftpd搭建和虚拟用户_第6张图片

      添加三行启用虚拟用户、映射用户为vuser、虚拟用户配置文件目录

    创建映射用户

            

    创建一个文本文件内容奇数行为用户名偶数行为对应密码,生成数据文件

           Centos7 vsftpd搭建和虚拟用户_第7张图片

   修改pam认证文件,注释掉所有行,添加两行

          Centos7 vsftpd搭建和虚拟用户_第8张图片

    编辑虚拟用户配置文件

         Centos7 vsftpd搭建和虚拟用户_第9张图片

   zhangsan和lisi用户共同用一个家目录,权限一个为只可上传,一个拥有所有权限。

   虚拟用户权限选项:

         virtual_use_local_privs=NO      #匿名用户不具有本地用户的权限,看不到目录中的文件,即不可浏览。

         anon_world_readable_only=NO     #匿名用户可以浏览FTP目录和下载文件

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

         anon_mkdir_write_enable=YES    #允许匿名用户建立和删除目录  

         anon_other_write_enable=YES    #允许匿名用户改名和删除文件

         enable_write=YES                       #拥有写的权限。

        重启vsftpd

        

         虚拟用户就完成了。

        

              

你可能感兴趣的:(Centos7 vsftpd搭建和虚拟用户)