Вопрос или проблема
Режим mls SElinux лишил меня всех прав суперпользователя, я не имею всех привилегий пользователя root и не могу отключить SElinux. Я не могу выполнять команды SElinux.
[root@design var]# setenforce 0
setenforce: security_setenforce() не выполнено: Доступ запрещен
некоторые файлы (файл shadow ???)
drwxr-xr-x. 3 root root 4096 14 Nov 12:00 sgml
-?????????? ? ? ? ? ? shadow
-?????????? ? ? ? ? ? shadow-
-rw-r–r–. 1 root root 44 23 Jun 2020 shells
drwxr-xr-x. 2 root root 4096 23 Sep 12:59 skel
-?????????? ? ? ? ? ? sudoers
drwxr-x—. 2 root root 4096 10 Nov 21:05 sudoers.d
Ответ или решение
SELinux в режиме MLS: Потеря прав root
SELinux (Security-Enhanced Linux) может значительно повысить безопасность системы, однако его более строгие режимы, такие как MLS (Multi-Level Security), могут привести к нештатным ситуациям, особенно если администратор не знаком с их работой. В вашем случае ситуация усугубляется тем, что SELinux заблокировал некоторые командные операции, и вы не можете управлять основными функциями root.
Причины проблемы
Когда SELinux работает в режиме MLS, он накладывает дополнительные ограничения на доступ к системным ресурсам. Это может привести к следующим проблемам:
- Неправильные контексты безопасности: Если контексты безопасности файлов или процессов неправильно установлены, SELinux может ограничить доступ даже для пользователя root.
- Ошибки конфигурации: Иногда конфигурационные файлы могут быть повреждены или неправильно изменены, что также может вызвать блокировку доступа.
Конкретные симптомы
Ваш системный вывод показывает, что вы столкнулись с проблемами при попытке запустить команду setenforce 0
, получая сообщение Permission denied
. Это указывает на то, что SELinux сейчас не позволяет вам изменять его состояния, даже имея права суперпользователя.
Файлы, помеченные как -??????????
, указывают на проблемы с доступом к этим файлам, что также может быть связано с контекстами безопасности SELinux. Конкретно, файлами shadow
и sudoers
управляет сама система, и их недоступность может блокировать доступ ко многим важным функциям.
Решения и рекомендации
Для восстановления нормальной работы системы необходимо предпринять несколько шагов:
-
Проверка контекстов безопасности: Используйте команду
ls -Z
для просмотра контекстов файлов и процессов. Это поможет выявить, какие файлы имеют неправильные контексты.ls -Z /etc/shadow ls -Z /etc/sudoers
-
Восстановление контекстов: Если вы заметите, что необходимые файлы не имеют правильных контекстов, можно восстановить их при помощи команды
restorecon
:restorecon /etc/shadow restorecon /etc/sudoers
-
Расположение в безопасном режиме: Если проблема не исчезает и вы не можете восстановить контексты, рекомендуется загрузить систему в аварийном режиме (rescue mode) и попробовать изменить настройки SELinux оттуда.
-
Изменение конфигурации SELinux: Если необходимо временно отключить SELinux, вы можете отредактировать файл конфигурации
/etc/selinux/config
. Убедитесь, что там указаноSELINUX=permissive
илиSELINUX=disabled
:SELINUX=permissive
После внесения изменений перезагрузите систему.
-
Консультация с документацией: Для более глубокого понимания специфики вашего сбоя можете обратиться к официальной документации SELinux, где представлены подробные объяснения режимов работы и настройки мандатного контроля.
Заключение
Проблемы, возникающие из-за режима MLS в SELinux, могут оказаться довольно серьезными, снижая эффективность работы администратора и устанавливая ограничения на выполнение критически важных команд. Важно внимательно изучать контексты безопасности файлов и команд, чтобы избежать лишних затруднений. Если указанные выше шаги не помогут, рекомендуется обратиться за помощью к более опытным специалистам, которые могут проанализировать ситуацию на месте.
Используя эти рекомендации, вы сможете восстановить управление вашу системой и выполнить необходимые операции.