Linux(27)—— SELinux 上下文及布尔值

目录

 一、SELinux 文件上下文:

1、文件标签策略数据库:

2、策略访问规则:

二、设置上下文:

1、查看 SELinux 上下文:

(1)ls -Z :

(2)ls -Zd :

2、更改 SELinux 上下文:

(1)semanage fcontext + restorecon 命令:

(2)chcon 命令:

3、定义 SELinux 默认上下文:

三、SELinux 布尔值:

四、使用布尔值调整 SELinux 策略:

1、普通用户:

2、超级用户:

(1)semanage boolean -l 命令:

(2)setsebool -P 命令:


        本篇文章只讲述有关 SELinux 文件上下文及布尔值的内容,如需了解有关 SELinux 的基本概念、执行模式以及如何解决 SELinux 问题的内容,可转跳至 Linux 系列的上篇文章:Linux(26)—— SELinux 概念及故障排除。

        转跳链接如下:https://blog.youkuaiyun.com/m0_68756914/article/details/146768024

 一、SELinux 文件上下文:

        在运行 SELinux 的系统上,所有进程和文件都有相应的标签,代表了与安全有关的信息,称为 SELinux 上下文( SELinux context )。

1、文件标签策略数据库:

        SELinux 在 /etc/selinux/targeted/contexts/files/ 目录中维护基于文件的文件标签策略数据库。新文件在文件名与现有标签策略匹配时获得默认标签。

注:(1)新文件通常从父目录继承其 SELinux context(mv 或 cp -a 除外);

       (2)移动的文件保留其原始标签,复制的文件将继承目标目录的标签。

2、策略访问规则:

        Web 服务器的 type context 是 httpd_t。策略规则允许 Apache 访问标记了 httpd_sys_content_t 类型上下文的文件和目录,且默认情况下,Web 服务器策略没有使用标有 tmp_t 的文件的 allow 规则(如 /tmp 和 /var/tmp 目录),因此不允许访问。在启用 SELinux 的情况下,破坏了 Web 服务器进程的恶意用户将无法访问 /tmp 目录。

注:1)位于 /var/www/html 中的文件和目录的 type context 是 httpd_sys_content_t ;

       2)位于/tmp 和 /var/tmp 中的文件和目录 type context 是 tmp_t ;

       3)Web 服务器端口的 type context 是http_port_t 。

        MariaDB 服务器进程使用 mysqld_t 类型上下文运行。默认情况下,在 /data/mysql 目录中的文件具有 mysqld_db_t 类型的 type context,该 type context 允许 MariaDB 访问这些文件,但禁止其他服务(如: Apache 服务、标有 httpd_sys_content_t 的文件)的访问。

二、设置上下文:

        许多命令都使用 -Z 选项 来显示或设置 SELinux context 。例如,ps 、ls 、cp 和 mkdir 命令都使用 -Z 选项。

1、查看 SELinux 上下文:

(1)ls -Z

        ls -Z 命令可显示文件的 SELinux context 。

(2ls -Zd

        ls -Zd 命令可显示目录的 SELinux context。

2、更改 SELinux 上下文:

(1)semanage fcontext + restorecon 命令:

        先使用 semanage fcontext 命令可创建文件上下文策略。

        然后使用 restorecon 命令该策略中指定的上下文应用于文件

(2)chcon 命令:

        chcon 命令直接在文件上更改 SELinux context ,不引用系统的 SELinux 策略。且此命令不会将 context 更改保存到 SELinux context 数据库中,因此运行 restorecon 命令后上下文将还原。

3、定义 SELinux 默认上下文:

        semanage fcontext 命令可显示和修改文件默认的上下文策略

注:fcontext 规则中最常用的扩展正则表达式是 (/.*)? ,表示一个以斜杠开头后跟任意数量字符的字符集,此集合可以存在可以不存在。

        semanage fcontext 命令的选项如下表:

                  选项       描述

             -a 、--add

   添加指定对象类型的记录

           -d 、--delete

   删除指定对象类型的记录

              -l 、--list

   列出指定对象类型的记录

三、SELinux 布尔值:

        开发人员可以在 SELinux 策略中包含可选的应用行为,当特定系统允许相关行为时启用该策略。SELinux 布尔值可以启用或禁用 SELinux 策略的可选行为,有选择的调整应用的行为。

        这些可选行为是特定于应用的,必须为各个目标应用发现和选择。如需了解服务相关的布尔值,可参阅该服务的 SELinux man page ( SELinux man page 在 selinux-policy-doc 软件包中提供)。

注:例如,Web 服务器 httpd 服务有其 httpd(8) man page ,以及用于记录其 SELinux 策略的 httpd_selinux(8) man page ,包括支持的进程类型、文件上下文以及可用的布尔值。

四、使用布尔值调整 SELinux 策略:

1、普通用户:

        普通用户可以运行 getsebool 命令激活和停用 SELinux 策略规则

2、超级用户:

(1)semanage boolean -l 命令:

        超级用户可运行 semanage boolean -l 命令管理 SELinux 布尔值的持久值

        运行 semanage boolean -l -C 命令可列出当前状态与默认状态不同的布尔值

(2)setsebool -P 命令:

        超级用户还可以运行 setsebool -P 命令写入策略文件,使设置持久有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值