**************************************

***************selinux的管理************

**************************************

1.基本SELINUX安全性概念

 

2.显示及更改SELINUX模式

1.查看)【ps axZ | ps -Zc | ls -Z】

vim /etc/sysconfig/selinuxselinux的配置文件】

disable:关闭;enforcing:强制;permissive:警告;状态切换需重启)

ls -Z XX【查看文件的安全上下文类型】

例如:ps auZ | grep vsftpd

【解释:如果你开启起了selinux,并且服务是受到selinux影响的,比如像vsftpd这种服务(基本网络服务大部分都会受影响),比如你可以查看/var/frp/pub/下的文件,但是 你如果在/mnt下建立文件,并且mv到/var/ftp/pub下,你lftp后,查看/pub/下的文件,是找不到你在/mnt下建立的文件的。这就是因为目录和文件‘安全上下文’类型不一样。】

wKioL1g2usSQR0RrAALE4XMnEhw017.png

wKiom1g2usXz7G7tAAFWbg_NIsI024.png

wKiom1g2usfBsEe0AAKyAcG-y_Q670.png

wKioL1g2usjztAbZAAJqcHGo_p0122.png

 

2.更改)

 1)临时更改(修改selinux配置文件重启的话,文件类型会自动修改为目录默认的‘安全上下文类型’,如果相同就可以访问,不同就还需要修改为相应的类型)

chcon -t public_conten_t /vat/ftp/pub -R【将pub下的所有文件安全上下文类型更改为‘public_content_t’,这样你就可以查看了】

chcon --reference=/etc/passwd /var/www/html/index.html 【以某个文件作为模板(/etc/passwd)修改文件(/are/www/html/index.html)的‘安全上下文’】【执行restorecon刷新后还原‘安全上下文’】

wKioL1g2uwXTaBXsAAEaTwnrwL8078.png

wKiom1g2uwaAqpPuAALS1lmiwKg308.png

wKioL1g2uwiBDEhuAAORcgAX0So065.png

wKiom1g2uwnQrBVMAAIPjEGKrS0390.png

wKiom1g2uwvTjnIEAANug1_AUUo960.png

 

 2)永久修改(重启selinux配置文件,会自动读取你为修改的目录所添加的‘安全上下文’类型。)

semanage fcontext -l | grep ftpdir  【例子:查看ftpdir目录的默认‘安全上下文’类型】

semanage fcontext -a -t public_content_t '/ftpdir(/.*)?' 【-a:所有的;-t:修改的类型;后面是固定常用的扩展正则表达式是'(/.*)?'】

wKioL1g2uyGRX9MYAAJhUaRsr0M435.png

restorencon -RvvF /ftpdir/  【将下列文件以及目录修改,并且将显示到屏幕上】【-R:连同子目录一起修改;-v显示到屏幕上;-F将此‘安全上下文类型’载入默认型。

 3)修改sebool(selinux的布尔值)【这个改了,想开什么开什么,畅通无阻】

getsebool -a | grep ftp【查看ftp服务的sebool信息】

setsebool -P ftpd_anon_write on  【打开ftp服务写入的功能,这样以来你手动调整setenforce 1|0 就不会影响你所用的服务的功能了,-P表示:直接将设置写入配置文件】

 

wKiom1g2uy-wLt2eAAHkyw8bdsk859.png

wKioL1g2uzCBvTLuAAHMGgfmS54544.png

wKioL1g2uzHC6Vv5AAJQlZnTl4g483.png


3.监控 SElinux 冲突

*必须安装 setroubleshoot-server 软件包,才能将SELinux 消息发送至 /var/log/messages

*etroubleshoot-server 侦听/var/log/audit/audit.log 中的审核信息并将简短摘要发送至 /var/log/messages

*摘要包括SElinux 冲突的唯一标识符(UUIDs),可用于收集更多信息。Sealert -l UUID用于生成特定事件的报告。

Sealert -a /var/log/audit/audit.log 用于在该文件中生成所有事件的报告。


***************************************

***************系统恢复*****************

***************************************

1.系统启动流程

通电

||

bios(主板上的只读存储中,basic input op output system)

作用,硬件检测,激活硬件

||

grup系统引导(grub引导分为两个阶段)

1)阶段1 mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节

*)dd if=/dev/zero of=/dev/vda bs=446 count=1 清空mbr

*)进入到挽救模式,执行chroot /mnt/sysimage切换到真实/环境,

   并执行grub2-install /dev/vda

wKiom1g2u8Lzgk-LAACRrHBtpWg871.png

wKioL1g2u8KCupcqAACdh9927XU279.png

wKioL1g2u8TRzfuBAAERYvmIjuk733.png

wKiom1g2u8WBV01kAABejSm7lTA565.png

wKioL1g2u8bgmK3XAACRp-wjtwY441.png

wKiom1g2u8bzl6l6AAAqaVn4MJ0255.png

wKiom1g2u8fxPYcRAAGCtNi0LmI721.png

wKioL1g2u8jx7L5bAAFE0PNW6fA906.png

wKioL1g2u8niP8HqAACef91zsSg832.png



2)阶段2 grub文件引导阶段

  找到/boot分区

  读取/boot/grub2/grub.cfg

  文件丢失,grub2-mkconfig > /boot/grub2/grub.cfg

【测试】在正常进入的时候,选项界面,你按C进入手动引导,输入如下(不正常的情况就是直接进入C的情况)

 set root='hd0,msdos1'【这个地址点,你可以先在文件中grub.cfg中查看】

linux16 /boot/vmliunz-3.10.0-123.e17.x86_64 ro root/dev/vda1

initrd16 /boot/initramfs-3.10.0-123.e17.x16_64.img

boot

wKioL1g2vDfiwwojAAE1gwEmTMw369.png

wKiom1g2vDewx8REAACJtghCS1E376.png

wKiom1g2vDrwnCxNAAOyJ57xs7Y869.png

wKioL1g2vDvx6lOYAAC68nsN8jA342.png

wKiom1g2vDzhZofMAADpdIj--c4451.png

wKioL1g2vD3TTx1eAABr1qBN7rM329.png



||

启动内核,只读挂载/设备

检测设备

对设备驱动进行初始化

进入系统初始化阶段

内核丢失,从新安装内核安装包可以解决

rpm -ivh kernel-XXXXXX.rpm --force

||

系统初始化阶段

系统初始化阶段加在initrd镜像

开始初始化进程systemd

开始selinux

加在内核参数

初始化系统时钟,键盘,主机名称

重新读写挂载/设备

激活raid,lvm

激活配额

启动multi-user.target.wants中的所有服务

开启虚拟控制台

启动图形

initramfs-`uname -r`.img丢失用:

mkinitrd initramfs-`uname -r`.img `uname -r`

在紧急救护模式 可以使用 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r),使得丢失的文件(initranfs-3.10-123.e17.x86_64.img)文件生成。

恢复

wKioL1g2vIOADSZeAAE4vOrReKI091.png

wKiom1g2vITgrG8cAAGT3f_K8Ss149.png

wKiom1g2vITzipthAAA8IpjRGwc033.png



【开机默认选择(以0开始为第一个)】

grub2-set-default <序号>

 

 

【手动引导进入字符编辑页面】

*)进入编辑启动项(可写)【在选择启动项时,按c(界面有提示)。进入,将fi下的linux16 。。。 找到ro,从这里起删除后面的并该为:rw rd.break;Ctrl+x,重新载入后会得到一个shell,进入你自己的shell(chroot /sysroot),开始修改你所要修改的内容】

1,管理员密码被篡改)

   passwd(更改密码)

*)/.autorelable【重新载入系统更改配置,例如:实验是在不知道密码的情况下,在救护模式手动更改密码。在更改完密码后,touch /.autorelable,不然这个更改也许不成功,这和(selinux)防护有关。】

wKioL1g2vQeiHi0GAAEdYA3CY3k947.png

wKiom1g2vQiTeeXUAABTRM540oY467.png

【不要问我这张图为什么这么清晰。—.—,我第一次发现,截图工具全屏截下来的图片很高清啊】



2.bash被删除【你将进入不了自己的bash,执行不料chroot /sysroot】【首先进入救护模式下】

  cp /bin/bash/mnt/sysimage/bin/bashbash丢失,你将救护模式下的bash复制到你的本机下,就可以了】

*理解并熟悉关于控制系统服务开机启动的文件multi-user.target.wants*】

当系统设定服务开机启动时,其实是将你所启动的服务,用一个软链接,连接到开机自动读取文件上,

1)例如 开机自启动vsftpd服务,实则是:ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/这个文件中。【如果你删掉它,服务开机就重起了】

2)当系统开启时会自动加载/etc/systemd/system/default.target,一般有图形的机子,这个默认链接是连接到图形界面的文件的(/usr/lib/systemd/system/graphical.target.wants/),如果你把它连到reboot上,你的机子就重启阿重启,哈哈,那就完了。       开玩笑的,【解决办法:就是手动引导进入可编写模式下,删掉这个链接地址,把它换成图形开启界面】

wKiom1g2vgWAAc2FAAAuxUm9E-A243.png

wKioL1g2vgXyFZ3gAAElvebEnkM527.png

wKiom1g2vgbDZp4PAAA04nE3zXc647.png

wKioL1g2vgbyMoW9AABRqbhw9Qs024.png

wKiom1g2vgaRTaKaAAAo3qafhz0684.png

wKioL1g2vgfw2mJbAAAyS_k6a9c073.png

wKiom1g2vgeShoZIAAAskq2jV0k171.png