undefined_t против unlabeled_t в SELinux - PullRequest
0 голосов
/ 18 октября 2019

Я сталкивался с двумя разными типами SELinux: unconfined_t и unlabeled_t

Может кто-нибудь сказать мне, в чем разница между ними?

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

unlabeled_t - это особый тип (isid type). Начальные идентификаторы безопасности (isid) представляют собой особый способ маркировки объектов. Он используется для маркировки объектов в сценариях, которые иначе не могут быть рассмотрены. Например, сценарий отработки отказа, инициализация и фиксированные объекты.

Тип unlabeled_t связан как с «немеченым», так и с «файловым» isid. Islabeled isid используется для автоматической связи типа (в данном случае unlabeled_t) с сущностями, имеющими недопустимый контекст, а файл isid используется для автоматической привязки связанного с ним типа (в данном случае unlabeled_t) с сущностямиу которых вообще нет метки.

Эти два распространенных (аварийных переключения) сценария могут происходить по разным причинам:

  1. SELinux является изменяемой во время выполнения в GNU / Linux, этоозначает, что можно добавлять и удалять контексты во время выполнения и, следовательно, проверять и аннулировать контексты. Поэтому, если в вашей системе есть сущность с заданным контекстом, и вы решили удалить этот контекст во время выполнения, то он становится недействительным, и немазированный isid автоматически свяжет с ним unlabeled_t.

  2. Когда вы форматируете новый раздел или когда вы делите раздел с системой, которая не использует SELinux, эта файловая система по умолчанию не имеет меток. Начальный файл sid запускается и связывает unlabeled_t с объектами без метки.

Контексты isid связаны в памяти. SELinux обеспечивает целостность по умолчанию. Так что все всегда нуждается в действительной этикетке. Начальные идентификаторы безопасности используются для решения проблем с маркировкой, которые иначе не могут быть решены.

Если вы видите unlabeled_t, то у объекта либо недопустимая метка, либо ее нет вообще. Вы можете решить эту проблему, связав действительную метку с сущностью.

unconfined_t - это «нормальный» тип, который просто имеет очень широкий набор разрешений, связанных с ним. Объекты, связанные с типом unconfined_t, практически не ограничены SELinux.

0 голосов
/ 18 октября 2019

Потому что ваш selinux включен. Вы можете проверить это Getenforce. Я думаю, лучше, если вы переключите свой selinux в Permissive. Вам нужно использовать setenforce 0 или отключить

...