Назад | Перейти на главную страницу

почему selinux запрещает доступ к файлу (ls / usr / bin) для типа container_file_t внутри моего контейнера

У меня есть один узел RHEL7.4, который при применении selinux приведет к сбою моего контейнера, я проверил и обнаружил, что он запрещает чтение во внутренних каталогах контейнера:

# docker run  -it 172.16.1.120:5000/fluentd:0.14 ls /usr/bin
ls: cannot open directory /usr/bin: Permission denied
# docker run  -it 172.16.1.120:5000/fluentd:0.14 ls -dZl /usr/bin
dr-xr-xr-x. 1 system_u:object_r:container_file_t:s0:c5,c284 root root 12288 Dec 15  2017 /usr/bin

selinux принудительно. но на другом узле RHEL7.4, также с принудительным использованием selinux, можно выполнить "ls":

[root@msun ~]$ # docker run -it fluentd:0.14 ls -l /bin/bash
-rwxr-xr-x. 1 root root 960632 Aug  3  2017 /bin/bash
[root@msun ~]$ # docker run -it fluentd:0.14 ls -dZl /bin/bash
-rwxr-xr-x. 1 system_u:object_r:container_file_t:s0:c122,c942 root root 960632 Aug  3  2017 /bin/bash
[root@msun ~]$ # 

Таким образом, один и тот же контейнер запрещен в одном узле и разрешен в другом узле. Я думаю, что отказ на отказавшем узле неверен, домену container_t должен быть разрешен доступ к файлу с типом container_file_t.

Нужна возможная причина и предложение, как я могу исследовать проблему на отказавшем узле?