Portal:MicroOS/SELinux
SELinux 是 Linux 的一项安全增强功能,它允许用户和管理员更多地控制访问控制。
它由在启动时加载到系统上的策略组成,该策略限制了用户和应用程序对资源的访问。
快速入门
安装 openSUSE MicroOS 后,只需运行
transactional-update setup-selinux
并重新启动系统。
sestatus 的输出应如下所示:
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: requested (insecure) Max kernel policy version: 31
配置
内核命令行选项
SELinux 只能通过内核命令行选项在启动期间启用或禁用。从用户空间禁用它的已弃接口已被禁用。
- 以强制模式启用 SELinux:
security=selinux selinux=1 - 以宽容模式启用 SELinux:
security=selinux selinux=1 enforcing=0 - 禁用 SELinux:
selinux=0
可以通过编辑 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT 并运行 transactional-update grub.cfg 来更改启动参数。
配置文件
配置文件 /etc/selinux/config 包含
SELINUX=[enforcing|permissive]用于配置强制或宽容模式。SELINUXTYPE=targeted用于指定要加载的策略。目前仅支持targeted。
文件系统重新标记
在启动期间,可以重新标记文件系统。有两种方法可以在下一次重新启动期间启动此过程:touch /etc/selinux/.autorelabel 并重新启动,或在下一次重新启动时使用 autorelabel 内核命令行选项。
标准文件 /.autorelabel 无法使用,因为根文件系统是只读的,因此不可写入。要强制重新标记所有文件,请使用 echo "-F" > /etc/selinux/.autorelabel。
本地 ssh 转发
要使用 ssh 转发连接到本地 vnc 服务器、虚拟机或容器,您需要启用此 SELinux 选项
setsebool -P nis_enabled 1
请注意,相关的 sshd 选项(例如 AllowTcpForwarding)默认情况下已启用,无需更改。另请参阅:SDB:SELinux
bind9 / named 无法启动
更新:SELinux 团队于 2024 年 8 月 26 日决定在目标策略中默认启用 named_write_master_zones 布尔值
SELinux 不允许 named 写入 master zones0 (请参阅错误报告)。
这意味着,如果您在之后设置了系统,则不应发生此错误。如果您在之前设置了系统,则默认情况下会将其设置为默认值,但您的本地配置仍然会禁用该布尔值。因此,您需要通过以下方式启用它:
setsebool -P named_write_master_zones 1
容器
卷
使用 podman 或 docker 的卷
- :z 将使用共享标签重新标记,以便其他容器可以读取和写入该卷。
- :Z 将使用私有标签重新标记,以便只有此特定容器可以读取和写入该卷。
文档
邮件列表
openSUSE 的 SELinux 邮件列表是:selinux@lists.opensuse.org
要订阅,请访问 https://lists.opensuse.org/manage/lists/selinux.lists.opensuse.org/ 或发送邮件至 selinux-join@lists.opensuse.org
列表存档:https://lists.opensuse.org/archives/list/selinux@lists.opensuse.org