本文转载自:https://blog.csdn.net/sinat_36888624/article/details/6076650

estorecon命令用来恢复SELinux文件属性即恢复文件的安全上下文。

假设CentOS安装了apache,网页默认的主目录是/var/www/html,我们经常遇到这样的问题,在其他目录中创建了一个网页文件,然后用mv移动到网页默认目录/var/www/html中,但是在浏览器中却打不开这个文件,这很可能是因为这个文件的SELinux配置信息是继承原来那个目录的,与/var/www/html目录不同,使用mv移动的时候,这个SELinux配置信息也一起移动过来了,从而导致无法打开页面,具体请看下面的实例:

/*使用CentOS举例,如果默认没有安装apache,确保网络连接,使用下面的命令安装*/
[root@111cn.net ~]# yum install httpd
 
/*我们在root的家目录新建一个html文件*/
[root@111cn.net ~]# pwd
/root
 
[root@111cn.net ~]# vi index.html
 
/*随便输入一段文字,保存退出*/
welcome to www.111cn.net
 
/*将这个文件mv到网页默认目录下*/

[root@111cn.net ~]# mv index.html /var/www/html/
 
/*
* 这个时候我们使用firefox浏览器输入127.0.0.1/index.html发现打不开,
* 查看一下SELinux的日志文件,发现了下面这一段报错信息,从这个报错信息不难看出,
* 进程httpd访问网页主目录中的index.html时被SELinux阻止,原因是因为,SELinux配置信息不正确,
* 正确的SELinux配置信息应该是scontext=后面的部分,
* 而index.html文件的SELinux配置信息却是tcontext=后面的部分,
* 从tcontext=的第三段“admin_home_t”不难看出,这个文件的SELinux配置信息是root用户家目录的。
*/
type=AVC msg=audit(1378974214.610:465): avc: denied { open } for pid=2359 comm="httpd" path="/var/www/html/index.html" dev="sda1" ino=1317685 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file
 
/*使用ls -Z也可以看出,文件和目录的SELinux信息不匹配*/
[root@111cn.net html]# ls -Z /var/www/html/
.... unconfined_u:object_r:admin_home_t:s0 index.html
 
[root@111cn.net html]# ls -Zd /var/www/html/
.... system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
 
/*使用restorecon来恢复网页主目录中所有文件的SELinux配置信息(如果目标为一个目录,可以添加-R参数递归)*/
[root@111cn.net html]# restorecon -R /var/www/html/

2。

restorecon【转】的更多相关文章

  1. nsenter into docker. selinux(semanage,restorecon)

    Docker容器运行后,如何进入容器进行操作呢?起初我是用SSH.如果只启动一个容器,用SSH还能应付,只需要将容器的22端口映射到本机的一个端口即可.当我启动了五个容器后,每个容器默认是没有配置SS ...

  2. / etc / init.d / iptables: line 268: restorecon: command not found

    When I tried to restart iptables from vps , I got the following error. Iptables encountered such a p ...

  3. Context值和bool开关

      Context值和bool开关的相关内容 Context值分为2种 系统默认的context值 服务的context值 Context值的作用 主要是防止有未知文件进入目录文件之中(如将病毒拷贝到 ...

  4. 修改context 和 enforce?

    http://jingyan.baidu.com/article/8ebacdf0cce84849f75cd57b.html 可以彻底的 关闭 selinux, selinux的配置文件 在 /etc ...

  5. DHCP

    安装 yum install -y dhcp 配置文件 默认配置为/etc/dhcpd.conf [root@samba ~]# [root@samba ~]# rpm -ql dhcp | grep ...

  6. linux commands

    abrt-cli --since ;查看abrt捕捉的异常 alias ;别名,alias rm='rm -i':使用“ \rm ” 使用原命令 alsamixer ;图形音量调节,q 增加左声道, ...

  7. centos下建立双机信任关系

    在有些情况下,我们希望在两台centos机器之间建立ssh连接的时候,可以不用输入密码.最常见的情况就是在使用脚本做数据库备份的时候.这种情况下,我们可以通过公钥/私钥来建立双机之间的信任关系. 网上 ...

  8. [转载] 构造linux 系统下免密码ssh登陆  _How to establish password-less login with SSH

    In present (post production) IT infrastructure many different workstations, servers etc. have to be ...

  9. Apache配置

    redhat6.4企业版用的centos的yum源. 下面进行apache的安装与配置. 1.yum在线安装Apache 一般不采用yum在线安装因为如果apache坏掉了,yum安装过程中会有依赖的 ...

随机推荐

  1. 记一次mariadb升级故障

    由于做mariadb集群,将版本从自带的5.5升级到10.0.3,升级成功后发现起不来 查journal log,只有一行warning can’t create test file /var/lib ...

  2. CF1142C U2

    题目链接:洛谷 codeforces $y>x^2+bx+c$也就是$y-x^2>bx+c$ 左边是点,右边是直线. 维护上凸包. 虽然这么简单但就是做不出来. #include<c ...

  3. python pandas库的基本内容

    pandas主要为数据预处理 DataFrame import pandas food_info = pandas.read_csv("路径")  #绝对路径和相对路径都可以 ty ...

  4. 批量将PowerDesigner中表字段由小写变成大写

    通过以下VB脚本即可批量修改,在Tools=>Execute Commands下的Edit/Run Scripts,或者通过Ctrl+Shift+X运行以下脚本即可: '************ ...

  5. MyBatis框架基于XML的配置

    什么是MyBatis? 答:它是一个持久层框架 说的太简单了吗?那让我们来看一下官方的文档描述: MyBatis有什么作用呢? 1.持久层的零实现 2.可以自动将数据封装到对象里面不需要手工编写映射的 ...

  6. JDK8 Stream操作整理

    1,forEach this.quoteItemList.forEach(p -> p.setMode(mode)); 2,获取对话属性,去重后生成集合 List<String> p ...

  7. CentOS7安装vsftpd3.0.2、以及虚拟用户配置

    vsftpd(very secure ftp daemon)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,还具有很高的安全性.传输速度,以及支持虚拟用户验证. vsftpd ...

  8. composer学习之路01

    以前对composer还是的理解很模糊,直到最近看一些资料,稍微有了一些浅显的了解. /* composer依赖包管理工具,如果一个项目是windows操作系统,那么composer就是360,他可以 ...

  9. A-the Beatles

    传送门: 题意:题目给出n,k分别代表在这个环中饭店的个数和两个饭店相离的距离.然后再给出一组a,b分别代表在某一点s里最近饭店的距离和在这个s点走一步之后到达的点离最近饭店的距离. 然后问这个人再次 ...

  10. ubuntu 16.04 搭建tigervnc

    主要参考 https://vitux.com/ubuntu-vnc-server/ apt install xfce4 xfce4-goodies -yapt install -y tightvncs ...