这与此问题有关: How to audit the selinux denial inside a docker container
在执行selinux后,我有一个无法使用的容器,“ ls / app”命令由于访问被拒绝而失败:
# docker exec -it XXX ls -lZ /app
ls: cannot open directory /app: Permission denied
第一个问题是未登录selinux拒绝消息以访问我的容器,关闭“ dontaudit”后,会出现selinux拒绝信息,但它表明容器正在尝试“读取”“ unlabeled_t”,>
type=AVC msg=audit(1537323105.938:115360): avc: denied { read } for pid=11891 comm="ls" path="/app" dev="vdb" ino=917696 scontext=system_u:system_r:container_t:s0:c136,c536 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir
但根据以下信息,它属于“ container_file_t”
# docker exec -it XXX ls -dZ /app
drwxr-xr-x. root root system_u:object_r:container_file_t:s0:c136,c536 /app
我认为添加规则(container_t读取“ unlabeled_t”目录)是不合适的,尽管它确实可以工作。
所以我想知道为什么SELinux将容器中的“ / app”目录(以及许多其他目录)视为“ unlabeled_t”,以及如何解决该问题?