Linux系统中的vsftpd服务的部署及优化

运维课程RH135(第二阶段课程)   

1.Linux系统中存储的基本管理

2.Linux系统的高级存储管理

3.vsftpd服务的部署及优化

4.Apache的管理及优化(Web)

5.mysql数据库的基本管理

6.nfs网络文件系统

7.企业dns服务器搭建

8.Linux系统中的火墙策略优化

9.Linux系统中内核级加强型火墙的管理(Selinux管理)

Linux系统中的vsftpd服务的部署及优化

一.本节内容实验环境搭建:

       服务器(IP:172.25.254.20):

(1)配置主机IP地址 设定相应的主机名称为node1

  (2)  软件仓库的建立,编写yum源文件 

  (3)关闭Selinux     编写 vim/selinux/config文件 设定disabled  然后reboot重启

  (4)开启火墙      systemctl  enable --now firewalld

   (5)安装vsftpd服务     dnf  install  vsftpd  -y    安装后开启服务  systemctl   enable --now   vsftpd         

     客户机(测试机172.25.254.10):

(1)配置主机IP地址,并设定主机名为Linux

(2)软件仓库的建立,编写yum源文件 

  (3) 关闭Selinux     编写 vim/selinux/config文件 设定disabled 然后reboot重启

(4)安装lftp服务    dnf install lftp   -y      (安装的为ftp协议浏览器,该浏览器为互联网中最老牌的文本传输协议)

实验环境搭建好之后的测试如下图:两种测试方法 一种是直接输入lftp 172.25.254.20   另外一种是 浏览器输入ftp 172.25.254.20

Linux系统中的vsftpd服务的部署及优化_第1张图片

Linux系统中的vsftpd服务的部署及优化_第2张图片

二.vsftpd的基本信息

服务名称:vsftpd.service

配置目录:/etc/vsftpd   主配置目录/etc/vsftpd/vsftpd.conf 

默认发布目录:/var/ftp

报错信息 550   程序本身拒绝;553 文件系统权限限制;500 权限过大;530 认真失败

三.匿名用户访问控制

方式1:lftp ip地址       当访问FTP服务时,没有加入用户认证为匿名访问

方式2:lftp  ip地址   -u  用户名         本地普通用户访问

Linux系统中的vsftpd服务的部署及优化_第3张图片

1.匿名用户登录控制

vim  /etc/vsftp/vsftpd.conf      第12行   YES|NO        yes表示可以允许匿名用户登录

Linux系统中的vsftpd服务的部署及优化_第4张图片

2.家目录控制 

vim  /etc/vsftp/vsftpd.conf    写入 anon_root=/westosdir 

  Linux系统中的vsftpd服务的部署及优化_第5张图片   

3.上传控制

     vim  /etc/vsftp/vsftpd.conf    第29行 anon_upload_enable=YES|NO

      在修改前需要   chmod 775 /var/ftp/pub       chgrp  ftp  /var/ftp/pub   

Linux系统中的vsftpd服务的部署及优化_第6张图片     

Linux系统中的vsftpd服务的部署及优化_第7张图片    

4.目录建立控制

 vim  /etc/vsftp/vsftpd.conf   中的 anon_mkdir_enable=YES|NO

Linux系统中的vsftpd服务的部署及优化_第8张图片

Linux系统中的vsftpd服务的部署及优化_第9张图片

5.下载控制

vim  /etc/vsftp/vsftpd.conf  中写入  anon_world_readable_only=NO 

Linux系统中的vsftpd服务的部署及优化_第10张图片

Linux系统中的vsftpd服务的部署及优化_第11张图片

6.删除控制

vim  /etc/vsftp/vsftpd.conf  中写入   anon_other_write_enable=YES

Linux系统中的vsftpd服务的部署及优化_第12张图片

   7.登录数量控制

vim  /etc/vsftp/vsftpd.conf  中写入 max_clients=数量

Linux系统中的vsftpd服务的部署及优化_第13张图片

Linux系统中的vsftpd服务的部署及优化_第14张图片

 8.上传速率的控制 

  vim  /etc/vsftp/vsftpd.conf   写入anon_max_rate=102400  上传的最大速率为1M

Linux系统中的vsftpd服务的部署及优化_第15张图片

9.上传文件用户权限设定

vim  /etc/vsftp/vsftpd.conf   中的 anon_umask=022

Linux系统中的vsftpd服务的部署及优化_第16张图片

10.匿名用户上传文件的用户身份设定

vim  /etc/vsftp/vsftpd.conf  修改55 56行

Linux系统中的vsftpd服务的部署及优化_第17张图片

四.本地用户控制

1.登录控制 

建立两个用户并修改密码

useradd  summer

useradd  westos

echo 123 | passwd --stdin summer

echo 123 | passwd --stdin westos

Linux系统中的vsftpd服务的部署及优化_第18张图片

2.家目录控制

vim  /etc/vsftp/vsftpd.conf   指定 local_root=指定目录

Linux系统中的vsftpd服务的部署及优化_第19张图片

3.写权限控制

vim  /etc/vsftp/vsftpd.conf       write_enable=NO|YES

4.上传文件的权限

vim  /etc/vsftp/vsftpd.conf   local_umask=077

 Linux系统中的vsftpd服务的部署及优化_第20张图片

5.锁定用户到自己的家目录中

当不锁定时,所有用户都能查看系统的根目录

Linux系统中的vsftpd服务的部署及优化_第21张图片

修改 vim  /etc/vsftp/vsftpd.conf    中打开chroot_local_user=YES   注意还得把本地用户家目录的写权限去掉 chmod u-w /home/*

Linux系统中的vsftpd服务的部署及优化_第22张图片

Linux系统中的vsftpd服务的部署及优化_第23张图片

6.锁定用户到自己的家目录中的白名单

vim  /etc/vsftp/vsftpd.conf  中写入

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list   (创建文件写入能允许访问的用户)

Linux系统中的vsftpd服务的部署及优化_第24张图片

Linux系统中的vsftpd服务的部署及优化_第25张图片

锁定用户到自己的家目录中的黑名单

vim  /etc/vsftp/vsftpd.conf  中写入

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list   (创建文件写入能允许访问的用户)

Linux系统中的vsftpd服务的部署及优化_第26张图片

Linux系统中的vsftpd服务的部署及优化_第27张图片

7.用户登录控制

/etc/vsftpd/ftpusers  永久黑名单

Linux系统中的vsftpd服务的部署及优化_第28张图片

/etc/vsftpd/user_list   默认黑名单 

Linux系统中的vsftpd服务的部署及优化_第29张图片

8.用户登录白名单

在主配置文件中 修改userlist_deny=NO   设定/etc/vsftpd/user_list 为白名单 不在名单中的用户不能登录ftp

9.建立虚拟用户访问ftp

(1)建立虚拟用户过程

    a)建立认证文件模版

    vim    /etc/vsftpd/haha   文件名是任意的   其中写入虚拟用户的名字和密码  

    Linux系统中的vsftpd服务的部署及优化_第30张图片

  b)db_load -T -t hash -f  haha haha.db    加密认证文件   -T转换  -t  type   -f  指定装换文件

  c) vim /etc/pam.d/ha          加密认证文件

Linux系统中的vsftpd服务的部署及优化_第31张图片

d) 修改主配置文件 vim  /etc/vsftpd/vsftpd.conf

pam_service_name=ha

guest_enable=YES

guest_username=ftp

完成以上步骤即可建立虚拟用户 

(2)虚拟用户的家目录的独立设定

mkdir -p   /ftpdir/w{1..2}/pub  

touch      /ftpdir/w1/w1file

touch      /ftpdir/w2/w2file

然后访问 vim  /etc/vsftpd/vsftpd.conf  

local_root=/ftpdir/$USER

user_sub_token=$USER

Linux系统中的vsftpd服务的部署及优化_第32张图片

(3)如何独立虚拟用户的配置

  当在主配置文件中开启上传功能后,所有用户都具有上传功能,此时应当独立虚拟用户的上传功能 若指定虚拟w2有上传功能 则需要首先在 /etc/vsftpd/vsftpd.conf  中取消上传功能     然后在文件中写入  user_config_dir=/etc/vsftpd/w_conf   

然后建立   vim   /etc/vsftpd/w_conf/w2      写入  anon_upload_enable=YES 

重启服务

你可能感兴趣的:(Linux系统运维基础)