chroot 环境中的 selinux

chroot 环境中的 selinux

我需要在旨在拯救我的系统(在 dedibox 上)的 chroot 环境中更改 /etc/ssh/sshd_config 的 selinux 策略:它实际上没有定义任何 selinux 上下文,因此 sshd 将无法启动。

但在默认的 chroot 环境中(由 online.net 提供),selinux 被禁用:这意味着我无法更改任何策略,我遇到了“无法降级文件”错误。所以我需要从头开始 chroot。

那么,我如何在 Fedora 25 服务器(已启用救援操作系统/selinux)和 ubuntu 18(已禁用救援操作系统/selinux)中启用 selinux(在原始环境中)的情况下 chroot,以便我可以更改 sshd_config selinux 策略?

答案1

您还可以touch /.autorelabel在要启动的系统的根分区上执行此操作。这将restorecon在下次启动时触发整个系统,并应修复该问题。重新标记完成后,该过程将重新启动机器。请注意,根据磁盘和文件数量,此过程可能需要很长时间。

另一个选项是使用扩展属性xattr来设置 selinux 上下文。这实际上是存储 selinux 文件相关信息的地方,可以使用和 进行getfattr修改。setfattr-m security.selinux

解决问题的第三种方法是通过添加选项,使用内核启动选项将 selinux 切换到宽容模式enforcing=0

相关内容