SELinux 引起的奇怪的audit2why消息

SELinux 引起的奇怪的audit2why消息

当我跑步时审核2个原因查看尝试通过 SCP 将文件上传到文件夹时失败的原因/foo/酒吧在远程服务器上,这会导致拒绝访问文件夹 /foo/bar,我得到以下文本:

 

Was caused by:
                Unknown - would be allowed by active policy
                Possible mismatch between this policy and the one 
under which the audit message was generated.

                Possible mismatch between current in-memory 
boolean settings vs. permanent ones.

 

我知道这肯定是由SELinux当我运行命令时:

setenforce 0

我可以通过 SCP 将文件上传到/foo/酒吧。另外值得注意的是,如果我通过 SSH 登录并光盘到文件夹/foo/酒吧启用 SELinux 后,我可以在此文件夹中创建一个文件。

 

我如何调试以查看 SELinux 中到底是什么导致了问题?

编辑

ls -lZ这是的输出/foo/酒吧

drwxrwx--T. root foo-users user_u:object_r:default_t:s0     bar

和一个的输出AVC 拒绝audit2allow

type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file
    Was caused by:
        Unknown - would be allowed by active policy
        Possible mismatch between this policy and the one under which the audit message was generated.

答案1

AVC 说的:

$ echo "type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file" |audit2allow     
#============= user_t ==============
#!!!! WARNING: 'default_t' is a base type.
allow user_t default_t:file write;

==> 在 user_t SElinux 上下文类型中运行的进程正在尝试写入具有 default_t 类型的目录。

解决此问题的替代方法是:

  • 重新标记目标目录以允许 user_t 对其进行写入:

    $ sesearch -s user_t --allow |grep “文件。*写入”

    将显示文件写入操作允许的目标上下文。例如,foo/bar 可能会被重新标记为允许列表中的 ssh_home_t:

    $ sudo chcon -R -t ssh_home_t /foo/bar

  • 或者,如果可以的话,将目标目录更改为允许的目录。

  • 或者使用audit2allow创建新规则来绕过控制,但这会打开权限,破坏了SELinux的目标,所以应该是最后的选择。 '看http://selinuxproject.org/page/Audit2allowRecipe

答案2

Unknown - would be allowed by active policy
Possible mismatch between this policy and the one 
under which the audit message was generated.

应用纠正政策后,我收到了同样的消息。所有先前审计的 avc 都无法解释,因为新政策将允许它们。
检查是否仍发生新事件。

相关内容