6.6.7、SELinux 安全上下文的修改和设置:chcon、restorecon

关注公众号 “融码一生”,领取全套 PDF / 电子书

  • 安全上下文的修改是必须掌握的,其主要是通过两个命令来实现。

1、chcon 命令

  • chcon 命令格式:
    • chcon [选项] 文件或目录
      • 选项:
        • -R: 递归,当前目录和目录下的所有子文件同时设置
        • -t: 修改安全上下文的类型字段(最常用)
        • -u: 修改安全上下文的身份字段
        • -r: 修改安全上下文的角色字段
  • 示例:建立一个网页文件,并写入“test page!!!”
    • echo'test page!!!' >> /var/www/html/index.html

# 这个网页文件的模式类别是 httpd_sys_content_t
ls -Z /var/www/html/index.html
:<<!
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html
!

# 查询 SELinun 中所有的类型、发现有一个类型叫 var_t
seinfo -t I grep var_t

# 把网页文件的类型修改为 var_t 类型
chcon -t var_t /var/www/html/index.html

# 这个网页的类型已经被修改了
ls -Z /var/www/html/index.html
:<<!
-rw-r--r--. toot root unconfined_u:object_r:var_t:s0 /var/www/html/index.html
!
  • 修改网页文件的类型,使得 apache 进程的安全上下文一定不能匹配网页的安全上下文,就会出现如下图所示的情况:

  • 这时网页就会提示权限拒绝,这里我们已经知道是安全上下文不匹配惹的祸!可以通过 chcon 命令修改回来就可以修复。

2、restorecon 命令

  • restorecon 命令:把文件的安全上下文恢复成默认的安全上下文。
    • restorecon [选项] 文件或目录
        • 选项:
          • -R:递归;当前目录和目录下所有的子文件同时恢复
          • -V:把恢复过程显示到屏幕上
  • SELinux 的安全上下文设定非常完善,使用 restorecon 命令也可以修复安全上下文不匹配所引起的问题。
# 这里已经提示了安全上下文从 var_t 恢复成了 httpd_sys_content_t
restorecon -Rv /var/www/html/index.html
:<<!
restorecon  reset   /var/www/html/index.html    context
unconfined_u:object_r:var_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
!

# 查看一下,安全上下文已经恢复正常了.网页的访问也已经恢复正常了
ls -Z /var/www/html/index.html
:<<!
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html
!

关注公众号 “融码一生”,领取全套 PDF / 电子书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

融码一生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值