Linux SELINUX 上下文和标签

Linux SELINUX 上下文和标签

直到最近,我遇到了一种情况,我在 AWS 中使用非 nfs 协议存储类型进行自动挂载,ie Fsx Lustre我在自动挂载的主目录上发现了一个奇怪的问题,每当用户尝试使用其公钥设置无密钥访问时,Selinux只是在 Selinux 处于enforcing模式时将其消除。

在稍后调查时,我发现 home_dir 上的上下文是undefinedunlabeled因此基​​于密钥的访问被简单地拒绝。

然而,我尝试恢复它,restorecon -R -v ~但它不起作用,然后我意识到当 Selinux 处于enforcing模式时它不会工作,所以,我使用了它chcon,这对我有用。

然而,chcon有效,但我看到 RedHat 文档中的注释是用 进行的更改,chcon command do not survive a file system relabel但我无法完全理解它,尽管它说的chcon是临时更改,但是,它再次在重新启动和注销登录后仍然存在。

问题:

drwx------. myuser mygrp  unconfined_u:object_r:unlabeled_t:s0 .ssh

使固定:

以下是我使用的命令并解决了问题。

$ chcon -R unconfined_u:object_r:user_home_t:s0  /home/<user_name>/.ssh/

选择:

不过,下面会更加简洁chcon

$ semanage fcontext -a -t ssh_home_t /path/to/users/homedirectory/.ssh/
$ restorecon -v /path/to/users/homedirectory/.ssh/

任何解释都将受到高度赞赏。

答案1

递归尝试

$ semanage fcontext -a -t ssh_home_t "/path/to/users/homedirectory(/.*)?"
$ restorecon -Rv /path/to/users/homedirectory/

相关内容