只是个草稿,原封不动的存档一下,只是为存档而存档
[原始文件 selinux.txt.20220817_1810]
selinux.txt 2022/8/17 18:10 ----------------------- SELinux 上下文(context) 每个进程和系统资源都有一个特殊的安全性标签,称为 SELinux 上下文(context)。SELinux 上下文有时被称为 SELinux 标签,它是一个提取系统级别细节并专注于实体的安全属性的标识符。这不仅提供了在 SELinux 策略中引用对象的一个一致方法,而且消除了在其他身份识别系统中可能存在的模糊性。例如,某个文件可以在使用绑定挂载的系统中有多个有效的路径名称。 SELinux 策略在一系列规则中使用这些上下文,它们定义进程如何相互交互以及与各种系统资源进行交互。默认情况下,策略不允许任何交互,除非规则明确授予了相应的权限。 SELinux 上下文包括以下字段: user(用户)、role(角色)、type(类型)和 security level(安全级别)。在 SELinux 策略中,SELinux 类型信息可能是最重要的。这是因为,最常用的、用于定义允许在进程和系统资源间进行的交互的策略规则会使用 SELinux 类型而不是 SELinux 的完整上下文。SELinux 类型以 _t 结尾.例如,Web 服务器的类型名称是 httpd_t。通常位于 /var/www/html/ 中的文件和目录的类型上下文是 httpd_sys_content_t。通常位于 /tmp 和 /var/tmp/ 中的文件和目录的类型上下文是 tmp_t。Web 服务器端口的类型上下文是 http_port_t。 https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/using_selinux/getting-started-with-selinux_using-selinux SELinux 域(domain)的概念允许定义哪些进程可以访问某些文件和目录 SELinux 构架和软件包 内置在 Linux 内核中的 Linux 安全模块(LSM) 系统服务由 systemd 守护进程控制 RHEL 8 提供以下用于 SELinux 的软件包: 策略: selinux-policy-targeted、selinux-policy-mls 工具:policy coreutils、policycoreutils-gui、libselinux-utils、policycoreutils-python-utils、setools-console、checkpolicy 重要工具/命令 semanage - SELinux Policy Management tool setsebool - set SELinux boolean value SELinux 可使用三种模式之一运行: enforcing(强制)、permissive(宽容)或 disabled(禁用)。 配置文件:/etc/selinux/config 可以使用 sestatus 命令返回 SELinux 状态以及正在使用的 SELinux 策略 用户映射 每个 Linux 用户都使用 SELinux 策略映射到 SELinux 用户 #semanage login -l 背后的配置文件 /etc/selinux/targeted/seusers 新用户将默认映射到 SELinux 用户 unconfined_u 如果指定映射到指定 SELinux用户上,可以使用 useradd 的 -Z 参数指定,如: useradd -Z staff_u example.user 指定已有用户到 SELinux 用户上,可使用 semanage login 命令实现,也支持 linux用户组、 __default__ 命令 seinfo 可用来查 SELinux 策略中定义的用户、角色、规则等 seinfo allows the user to query the components of a SELinux policy. 您可以通过调整策略中的布尔值,根据特定需求自定义 SELinux 策略中受限用户的权限。您可以使用 semanage boolean -l 命令确定这些布尔值的当前状态。 管理文件系统标签,有多个命令可用 chcon、semanage fcontext、restorecon 和 matchpathcon 临时更改 chcon chcon 用于临时更改,所做的更改不会在文件系统重新标记或执行 restorecon 命令之间保留。如 chcon -t httpd_sys_content_t file-name chcon -R -t httpd_sys_content_t directory-name 所以该命令,实际使用并不多;或在调试时使用。 恢复为策略中定义的默认值 restorecon restorecon - restore file(s) default SELinux security contexts. 实际使用时,通常使用 -Rv 参数,同时递归设置子文件并显示过程 默认值定义在 /etc/selinux/targeted/contexts/files/ 下的文件中 持久性更改:semanage fcontext 示例:semanage fcontext -a -t samba_share_t /etc/file1 其中文件路径支持 PCRE;更改后要应用更改才生效 restorecon -v file-name|directory-name SELinux File Context 定义文件的优先级 本地更改 file_contexts.local > file_contexts.homedirs > file_contexts 还有其他文件,redhat 说得语焉不详的 https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/how-file-context-is-determined https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/sect-security-enhanced_linux-working_with_selinux-selinux_contexts_labeling_files