Linux基础学习(九)

时间:2021-01-07 08:15:15

一 、ftp服务的开启与连接。

    (一)配置yum源,安装服务。

            挂载镜像文件

                Linux基础学习(九)

          配置软件仓库

Linux基础学习(九)

          安装 vsftpd 和lftp 服务

 Linux基础学习(九)

    (二)启动ftp服务,并且通过netstat来查看网络信息。

        Linux基础学习(九)

      (三)开启火墙策略。

             开启火墙,并列出所有预设服务。

Linux基础学习(九)

        火墙添加ftp服务

   Linux基础学习(九)         

         --permanent 参数表示永久生效设置,如果没有指定--zone参数,那么会加入默认区

    域)  删除使用参数 --remove


        重载防火墙

Linux基础学习(九)

         查看火墙服务列表

          Linux基础学习(九)  

        匿名用户使用FTP服务连接本机

Linux基础学习(九)

      当我们对配置文件使用默认配置时,我们匿名用户连接到主机的/var/ftp/ 下,其中/var/ftp/ 是我们ftp的默认发布目录。

二 、ftp服务的简单配置。

    一、匿名用户的相关设置

   (一)不允许匿名用户登录,只允许本地用户登录

        1、打开配置文件

        Linux基础学习(九)

        2、修改配置文件

Linux基础学习(九)

        3、重启ftp服务

 Linux基础学习(九)        

        4、ftp匿名用户连接进行验证  

    Linux基础学习(九)        

  连接失败(不能使用ls进行该目录浏览)

       5、ftp 本地用户连接认证

        Linux基础学习(九)

            我们是用本地用户登录,会默认进入本地用户的家目录。

 (二)允许匿名用户上传文件

        在我们不对配置文件设置时,我们的匿名用户不可以进行文件的上传

        Linux基础学习(九)

        1、我们对配置文件修改

        Linux基础学习(九)

        Linux基础学习(九)

        我们本次ftp的所有实验都要disabled — SELinux 被​完​全​中​止。

        Linux基础学习(九)

        Linux基础学习(九)

        reboot 重启

        2、修改默认发布目录的权限

        chmod  775  /var/ftp/pub

        chgrp  ftp  /var/ftp/pub

        Linux基础学习(九)

        3、重启服务,上传文件验证

            Linux基础学习(九)

(三)允许匿名用户下载文件

            vim     /etc/vsftpd/vsftpd.conf

            anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

            Linux基础学习(九)

            测试

            Linux基础学习(九)

        使用 get 命令下载只能下载 匿名用户家目录中的文件,会下载到连接ftp之前的路径里面。

(四)允许匿名用户建立文件夹         

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

        Linux基础学习(九)

        测试

          Linux基础学习(九)

    (五)允许匿名用户删除文件  

        anon_other_write_enable=YES|NO              匿名用户删除文件权限

Linux基础学习(九)

        测试

            Linux基础学习(九)

     (六)匿名用户上传文件的权限

        vim  /vsftpd/vsftpd.conf  文件中修改   anon_umask=xxx

        Linux基础学习(九)

       文件权限=777-025=752

    (七)匿名用户上传文件速率限制

        anon_max_rate=102400   (102400字节/s)

        Linux基础学习(九)

        Linux基础学习(九)

     (八)匿名用户家目录修改

        我们匿名用户默认的家目录是/var/ftp/pub   

        我们可以在配置文件 /etc/vsftpd/vsftpd.conf 修改。

        Linux基础学习(九)

        创建家目录,并修改家目录权限以及所有组

        Linux基础学习(九)

        ftp链接 创建文件夹

        Linux基础学习(九)

        真机中验证 test文件夹存在。

        Linux基础学习(九)

    (九)指定匿名用户上传文件的默认的所有者和权限

          我们可以在配置文件 /etc/vsftpd/vsftpd.conf 修改。

        Linux基础学习(九)

        chown_uploads=YES(默认NO)

    chown_username=wang 设置上传文件的所属人为wang

            chown_upload_mode=0644设置上传文件的权限为644

         Linux基础学习(九)

        Linux基础学习(九)

 (十)ftp链接的最大用户数

        我们可以在配置文件 /etc/vsftpd/vsftpd.conf 修改。

        max_clients=2   链接的最大用户数为2

        Linux基础学习(九)

  二、本地用户的相关设置

    (一)本地用户登录权限限制

            我们可以在配置文件 /etc/vsftpd/vsftpd.conf 修改。
            local_enable=YES|NO ##本地用户登陆限制
            write_enable=YES|NO ##本地用户写权限限制

            Linux基础学习(九)

            Linux基础学习(九)

(二)本地用户上传文件权限

         我们可以在配置文件 /etc/vsftpd/vsftpd.conf 修改。

          local_umask=xxx

        Linux基础学习(九)

        文件权限=777-025=7

(三)本地用户家目录修改

             /etc/vsftpd/vsftpd.conf 

         local_root=/directory     修改用户登录时的家目录为/directory

          Linux基础学习(九) 

        Linux基础学习(九)

        本地用户登陆后的家目录已经被修改。

(四)限制本地用户浏览/目录

        我们将所有用户被锁定到自己的家目录中,不允许本地用户浏览其他目录。

        例如:如下

        Linux基础学习(九)

        1、建立访问限制黑名单 

            黑名单内的用户不能访问,默认的登录目录之外的其他目录,而黑名单外的用户访问目录不受限制。     

            配置文件  /etc/vsftpd/vsftpd.conf  修改如下:

            chroot_local_user=NO
            chroot_list_enable=YES
            chroot_list_file=/etc/vsftpd/chroot_list

            Linux基础学习(九)

            vim /etc/vsftpd/chroot_list

            Linux基础学习(九)

            测试 我们使用三个用户分别连接浏览根目录

            ftptest 用户在黑名单之外,可以浏览根目录

            Linux基础学习(九)

            test用户在黑名单之内,不可以浏览根目录

            Linux基础学习(九)

            studnet 用户在黑名单之内,不可以浏览根目录

            Linux基础学习(九)     

       2、建立访问限制白名单

            白名单之外的用户不能访问默认的登录目录之外的其他目录,而白名单之内的用户访问目录不受限制。

             配置文件  /etc/vsftpd/vsftpd.conf  修改如下:

            chroot_local_user=YES

            chroot_list_enable=YES

            chroot_list_file=/etc/vsftpd/chroot_list

            Linux基础学习(九)

             vim /etc/vsftpd/chroot_list

            Linux基础学习(九)

        我们设置将test和student放入白名单

        Linux基础学习(九)

        如上 student 可以

        Linux基础学习(九)

        如上 因为ftptest在白名单之外,因此不能访问。

(五)限制本地用户登录

       限制本地用的的登录我们主要对vsftpd.conf文件中userlist_enable和userlist_deny进行组合应用

      1、userlist_enable = NO 时

        Linux基础学习(九)

        此时,/etc/vsftpd/user_list文件将失去作用,不会使用,而/etc/vsftpd/ftpusers文件成为用户登陆的黑名单,在文件内的用户都不能lftp进行登录链接.

        例如:

            Linux基础学习(九)

            Linux基础学习(九)

            student 不能登录 

            Linux基础学习(九)

            ftptest可以登录

        2、userlist_enable = YES 和 userlist_deny = NO 时

             此时,/etc/vsftpd/user_list文件将作用,成为用户登录的白名单。而/etc/vsftpd/ftpusers文件依旧为

     用户登陆的黑名单,在文件内的用户都不能lftp进行登录链接,但是ftpusers不对文件之外的用户限制

        Linux基础学习(九) 

        将student加入白名单。     

        Linux基础学习(九)

        此时ftptest用户在白名单之外,不可登陆

        Linux基础学习(九)

        student在白名单之内,可以登录(切记删除上一步的实验结果,即ftpusers文件中的student删掉)

        Linux基础学习(九)

     3、userlist_enable = YES 和 userlist_deny = YES 时 

        

               此时,/etc/vsftpd/user_list文件将作用,成为用户登录的黑名单。而/etc/vsftpd/ftpusers文件依旧为

     用户登陆的黑名单,在文件内的用户都不能lftp进行登录链接,但是ftpusers不对文件之外的用户限制

        Linux基础学习(九)

        将student加入黑名单。

        Linux基础学习(九)

          studnet不能登录

          Linux基础学习(九)  

          ftptest用户可以登录

        Linux基础学习(九)

   三、虚拟用户的相关设置

            1、创建虚拟账号

                vim /etc/vsftpd/users

                Linux基础学习(九)

         2、为该文件进行哈希加密。

                db_load -T -t hash -f /etc/vsftpd/users users.db

               加密完成后会生成一个users.db的文件 使用file users.db查看文件属性

               Linux基础学习(九)

        3、创建/etc/pam.d/usercheck文件。

            Linux基础学习(九)

       4、编辑/etc/vsftpd/vsftpd.conf配置文件

              Linux基础学习(九)

        5、指定虚拟账户的身份

            Linux基础学习(九)

     6、在/var/ftpdir/目录下分别创建如下目录和文件,登陆ftp服务器,检验虚拟用户是否创建成功。   

           Linux基础学习(九)

           Linux基础学习(九)