【发布时间】:2019-02-18 18:25:39
【问题描述】:
我有一个 docker 容器,当禁用 selinux 时,它运行良好; 但是当启用 selinux(即 docker 守护进程以 --selinux-enabled 启动)时,它无法启动。
所以失败应该是由 selinux 拒绝引起的,但这并没有显示在 selinux 审计日志中。当我使用“ausearch -m XXX | audit2allow ...”生成策略时,它不包含任何拒绝信息。
想知道如何获取容器内发生的 selinux 拒绝信息,以便我可以使用它来生成我的策略文件?
ps:我检查了访问文件的标签信息,它们似乎正确,但是访问(ls)被拒绝:
# ls -dlZ /usr/bin
dr-xr-xr-x. root root system_u:object_r:container_file_t:s0:c380,c857 /usr/bin
# ls /usr/bin
ls: cannot open directory /usr/bin: Permission denied
更多:选择的答案回答了问题,但现在问题是审计日志显示访问是读取“unlabeled_t”,但正如“ls -dZ /usr/bin”所示,它是一个“container_file_t” .我把它放在一个单独的问题中: Why SELinux denies access to container internal files and claims them as "unlabled_t"?
【问题讨论】: