Dec 08 13:08:34 lab.example.com setroubleshoot[12013]: SELinux is preventing /usr/sbin/httpd from getattr access on the file /var/www/html/index.html.
*****Plugin restorecon (99.5 confidence) suggests************************
If you wantto fix the label
/var/www/html/index.html default label should be httpd_sys_content_t.
Then you can run restorecon. The access attempt may have been stopped due to insufficient permissions to access a parent directory, in which case try to change the following command accordingly.
Do
# /sbin/restorecon -v /var/www/html/index.html
*****Plugin catchall (1.49 confidence) suggests**************************
If you believe that httpd should be allowed getattr accesson the index.html file by default.
Then you should report this as a bug.
You can generate alocal policy module to allow this access.
Do
allow this accessfor now by executing:
# ausearch -c'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp
在这里,最好的解决办法就是修复文件的标签 。
小结
为SELinux排查故障可能很难,但如果运用这里介绍的几个概念,并了解服务的组成,您就可以处理它带来的各种难题 。
切记:SELinux是一种标签系统 。
Linux启动故障处理【摘要】
当Linux系统出现故障无法正常启动系统时,Linux准备了单用户模式、救援模式等方式可以让我们有效的处理这类问题 。本文简单分享一个利用救援模式解决Redhat系统无法启动的案例 。
【正文】
一、问题背景
1)问题描述
一台部署了RHEL 7.2的物理服务器,突发死机故障,在尝试重启时,发现服务器无法正常进入操作系统,直接进入emergency mode 。本文主要分享操作系统启动异常的问题排查过程 。(服务器死机据后续日志分析,确定为内核的bug所致,本文不进行累述)
2)故障现象
系统启动后,提示无法找到/dev/mapper/rhel-root,并直接进入emergency mode 。
二、排查思路
1)收集系统启动异常的相关提示信息,获取到问题关键点:
Warning:/dev/rhel/root does not exist
初步定为配置文件问题或者逻辑卷root本身问题;
2)尝试在应急模式下检查逻辑卷状态,发现当前情况并不稳定,常用命令无法使用、显示多为乱码;
3)尝试进入单用户模式,发现情况和应急模式一样;
Redhat 7.2进入单用户模式:
1、开机启动至内核选择界面,选择第一项 , 按e进行编辑
2、定位到linux16这一行 , 找到ro,修改其为rw init=/sysroot/bin/sh
3、按ctrl+X启动至单用户模式
4)利用系统安装光盘,进入Linux救援模式,进行排查 。
Redhat 7.2救援模式启动方法:
1、把光盘加入光驱,然后启动,以光盘进行引导 , 选择救援模式(中间具体的步骤不再细说)
2、文件系统挂载到/mnt/sysimage目录下,这时切换到此目录下使用chroot /mnt/sysimage这条命令即可
5)在救援模式下,首先查看服务器lv的情况 , 发现所有lv
status均为未激活状态 。
查看lv
#Lvdisplay
修改lv
#vgchange -a y /dev/docker/root
6)在尝试修改root的lv status时 , 发现root所在的vg名和启动时所指定的vg名不一致 , 基本确定问题点;
7)修复
l编辑文件/etc/default/grub
l修改此文件中GRUB_CMDLINE_LINUX一行中rd.lvm.lv为合适的值
l再执行以下命令重做grub :
n UEFI: grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
n非UEFI:grub2-mkconfig -o /boot/grub2/grub.cfg
l查看文件grub.cfg中是否修改为rd.lvm.lv=rhel/root
l修改/etc/grub2.cfg中root=后接的lv路径改为实际的路径 。
推荐阅读
- mongodb副本集java,mongoDB副本集隐藏节点移除后升级至主节点
- 如何做新媒体贷款平台运营,新媒体平台如何推广
- 台式怎么外接显卡,台式机显卡可以外接笔记本吗
- 主机怎么换固态硬盘,主机换固态硬盘有影响吗
- linux命令行进入 linux命令行进入oracle数据库
- python获取数组有多少列,python查看数组里面元素个数
- 北京sap开发服务,sap bpc开发
- 高速慢镜头下的电视怎么用,高速电视机
- python字符统计函数 python中如何统计字符个数