18.7 SELinux安全上下文的修改和设置

简介: 安全上下文的修改是我们必须掌握的,其实也并不难,主要是通过两个命令来实现的。

安全上下文的修改是我们必须掌握的,其实也并不难,主要是通过两个命令来实现的。

chcon 命令格式如下:

[root@localhost ~]# chcon [选项] 文件或目录

选项:

- -R: 递归,当前目录和目录下的所有子文件同时设置;
- -t: 修改安全上下文的类型字段,最常用;
- -u: 修改安全上下文的身份字段;
- -r: 修改安全上下文的角色字段;

举个例子:

[root@localhost ~]# echo'test page!!!' >> /var/www/html/index.html
\#建立一个网页文件,并写入“test page!!!”

我们可以通过浏览器查看这个网页,只需在浏览器的 URL 中输入 http://ip 即可,如图 1 所示。

img
图 1 访问 apache 测试页

[root@localhost ~]# 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
\#这个网页文件的模式类别是httpd_sys_content_t
[root@localhost ~]# seinfo -t I grep var_t
\#查询SELinun中所有的类型、发现有一个类型叫var_t
[root@localhost ~]# chcon -t var_t /var/www/html/index.html
\#把网页文件的类型修改为var_t类型
[root@localhost ~]# 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 进程的安全上下文一定不能匹配网页的安全上下文,就会出现如图 2 所示的情况。

img
图 2 拒绝访问

这时网页就会提示权限拒绝,这里我们已经知道是安全上下文不匹配惹的祸!当然,我们可以通过 chcon 命令修改回来就可以修复。不过,我们还有一个命令 restorecon,这个命令的作用就是把文件的安全上下文恢复成默认的安全上下文。SELinux 的安全上下文设定非常完善,所以使用 restorecon 命令就可以修复安全上下文不匹配所引起的问题。

restorecon 命令格式如下:

[root@localhost ~] # restorecon [选项】 文件或目录

选项:

- -R:递归.当前目录和目录下所有的子文件同时恢复;
- -V:把恢复过程显示到屏幕上;

例如:

[root@1ocalhost ~]# 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
\#这里已经提示了安全上下文从var_t恢复成了httpd_sys_content_t
[root@1ocalhost ~]# 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
\#查看一下,安全上下文已经恢复正常了.网页的访问也已经恢复正常了
目录
相关文章
|
4月前
|
Python
Python 办公实战:用 python-docx 自动生成 Word 文档
本文详解如何使用 python-docx 库实现 Word 文档自动化生成,涵盖环境搭建、文档创建、格式设置、表格与图片处理、模板填充、批量生成及性能优化等实战技巧,助你高效完成办公场景中的文档自动化任务。
1207 1
|
存储 JSON JavaScript
jQuery Cookie 插件
jQuery Cookie 插件
186 4
jQuery Cookie 插件
|
Ubuntu 安全 开发工具
如何在 Ubuntu 20.04 上将用户添加到 sudoers?
如何在 Ubuntu 20.04 上将用户添加到 sudoers?
1019 1
如何在 Ubuntu 20.04 上将用户添加到 sudoers?
仿SOUL社交友附近人婚恋约仿陌陌APP网站源码
仿SOUL社交友附近人婚恋约仿陌陌APP网站源码
451 0
仿SOUL社交友附近人婚恋约仿陌陌APP网站源码
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
安全 Android开发
AVB(一):提前装载分区
AVB(一):提前装载分区
479 0
|
安全 Linux 数据安全/隐私保护
【Linux从入门到精通】Linux中的权限管理(实例+详解)1
本篇文章对Linux下的普通用户和超级用户进行了对比详解。同时有添加和删除普通用户的讲解。也详细的解释了普通文件的权限、拥有者、所属组设置方法,和对目录的权限设置方法。根据需求引出粘滞位,对粘滞位进行详细的解释。解释每个要点是都带有实例,超级详细且容易理解!!!
602 0
|
前端开发 JavaScript 搜索推荐
网络购物商场系统的设计与实现(论文+源码)_kaic
近年来,随着网络购物的兴起和普及,针对该市场需求开发一款在线购物系统是大势所趋。和实体店对比,在线购物系统商品种类齐全,价格优惠、还能够送货上门等优势。在此类系统中,用户能够在网上购物,可以随意挑选挑选物美价廉的商品不仅方便而且快捷,并保证线上线下共同受益,促进了经济市场的蓬勃发展。 首先,对系统可靠性、易用性以及安全性进行了分析,接着对5个功能模块流程进行详细的分析;其次,对系统功能实现内容和开发过程仔细介绍,随后,详细阐述了数据库设计内容。系统采用了SSM作为前端主流开发技术,JavaScript语言,数据库为MySQL,完成了登录注册模块、商品详情模块设计、订单支付模块设计、个人中心模块
|
缓存 Java Spring
《SpringBoot启动流程一》:万字debug梳理SpringBoot如何加载并处理META-INF/spring.factories文件中的信息
1、SpringBoot如何加载并处理spring.factories中的文件? 2、加载出的spring.factories文件中的内容如何排序? 3、多个spring.factories文件内容重复怎么处理?
1355 0
《SpringBoot启动流程一》:万字debug梳理SpringBoot如何加载并处理META-INF/spring.factories文件中的信息

热门文章

最新文章