运维课程RH135(第二阶段课程)
1.Linux系统中存储的基本管理
2.Linux系统的高级存储管理
3.vsftpd服务的部署及优化
4.Apache的管理及优化(Web)
5.mysql数据库的基本管理
6.nfs网络文件系统
7.企业dns服务器搭建
8.Linux系统中的火墙策略优化
9.Linux系统中内核级加强型火墙的管理(Selinux管理)
一.本节内容实验环境搭建:
服务器(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
二.vsftpd的基本信息
服务名称:vsftpd.service
配置目录:/etc/vsftpd 主配置目录/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息 550 程序本身拒绝;553 文件系统权限限制;500 权限过大;530 认真失败
三.匿名用户访问控制
方式1:lftp ip地址 当访问FTP服务时,没有加入用户认证为匿名访问
方式2:lftp ip地址 -u 用户名 本地普通用户访问
1.匿名用户登录控制
vim /etc/vsftp/vsftpd.conf 第12行 YES|NO yes表示可以允许匿名用户登录
2.家目录控制
vim /etc/vsftp/vsftpd.conf 写入 anon_root=/westosdir
3.上传控制
vim /etc/vsftp/vsftpd.conf 第29行 anon_upload_enable=YES|NO
在修改前需要 chmod 775 /var/ftp/pub chgrp ftp /var/ftp/pub
4.目录建立控制
vim /etc/vsftp/vsftpd.conf 中的 anon_mkdir_enable=YES|NO
5.下载控制
vim /etc/vsftp/vsftpd.conf 中写入 anon_world_readable_only=NO
6.删除控制
vim /etc/vsftp/vsftpd.conf 中写入 anon_other_write_enable=YES
7.登录数量控制
vim /etc/vsftp/vsftpd.conf 中写入 max_clients=数量
8.上传速率的控制
vim /etc/vsftp/vsftpd.conf 写入anon_max_rate=102400 上传的最大速率为1M
9.上传文件用户权限设定
vim /etc/vsftp/vsftpd.conf 中的 anon_umask=022
10.匿名用户上传文件的用户身份设定
vim /etc/vsftp/vsftpd.conf 修改55 56行
四.本地用户控制
1.登录控制
建立两个用户并修改密码
useradd summer
useradd westos
echo 123 | passwd --stdin summer
echo 123 | passwd --stdin westos
2.家目录控制
vim /etc/vsftp/vsftpd.conf 指定 local_root=指定目录
3.写权限控制
vim /etc/vsftp/vsftpd.conf write_enable=NO|YES
4.上传文件的权限
vim /etc/vsftp/vsftpd.conf local_umask=077
5.锁定用户到自己的家目录中
当不锁定时,所有用户都能查看系统的根目录
修改 vim /etc/vsftp/vsftpd.conf 中打开chroot_local_user=YES 注意还得把本地用户家目录的写权限去掉 chmod u-w /home/*
6.锁定用户到自己的家目录中的白名单
vim /etc/vsftp/vsftpd.conf 中写入
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list (创建文件写入能允许访问的用户)
锁定用户到自己的家目录中的黑名单
vim /etc/vsftp/vsftpd.conf 中写入
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list (创建文件写入能允许访问的用户)
7.用户登录控制
/etc/vsftpd/ftpusers 永久黑名单
/etc/vsftpd/user_list 默认黑名单
8.用户登录白名单
在主配置文件中 修改userlist_deny=NO 设定/etc/vsftpd/user_list 为白名单 不在名单中的用户不能登录ftp
9.建立虚拟用户访问ftp
(1)建立虚拟用户过程
a)建立认证文件模版
vim /etc/vsftpd/haha 文件名是任意的 其中写入虚拟用户的名字和密码
b)db_load -T -t hash -f haha haha.db 加密认证文件 -T转换 -t type -f 指定装换文件
c) vim /etc/pam.d/ha 加密认证文件
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
(3)如何独立虚拟用户的配置
当在主配置文件中开启上传功能后,所有用户都具有上传功能,此时应当独立虚拟用户的上传功能 若指定虚拟w2有上传功能 则需要首先在 /etc/vsftpd/vsftpd.conf 中取消上传功能 然后在文件中写入 user_config_dir=/etc/vsftpd/w_conf
然后建立 vim /etc/vsftpd/w_conf/w2 写入 anon_upload_enable=YES
重启服务