CentOS8 Stream -Что такое контекст безопасности в правах доступа к файлам и как он может повлиять на доступ?

. Я установил некоторые из моих основных приложений aspnet в Linux до использования CentOS8. На этот раз я использовал CentOS8-Stream. Я не знаю, способствует ли это решению проблемы.

Факты:

  1. Я не смог заставить Apache использовать сертификаты. Все было так, как я делал раньше, и все же это не сработало. В конце концов я нашел в Интернете непонятную ссылку, которая использовала ls -lrtZ /etc/pki/tls/certsдля отображения security context(. Я даже не знал, что она существует). Итак, я просто cpфайлы сертификатов, и с Apache теперь все в порядке.

  2. Однако мое приложение aspnet не работает с attempt to write a readonly database. Я пробовал cpтрюк, но не помогает. Также не появляются журналы приложений

Файл базы данных:

-rw-rw-rw-. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0

Я не понимаю, как это security contextможет переопределить обычный chmod -как разрешения?? И что делать, чтобы исправить? Я имею в виду, как более явное разрешение может быть rwrwrw?

Это что-то новое featureв SELinux? Могу ли я отключить его полностью?

Примечание:1 и 2 не связаны друг с другом -Я просто думаю, что они имеют одну и ту же основную причину, но ничего между ними. Если я обращаюсь к приложению aspnet напрямую без Apache -, у него та же ошибка

0
задан 1 November 2021 в 16:24
2 ответа

SELinux — это система управления доступом на основе ролей, которая может в мельчайших деталях контролировать, что разрешено делать процессу. Например, веб-сервер более безопасен, если он не может прочитать, скажем, /etc/shadowдаже в качестве пользователя root или запустить веб-оболочку. Контекст безопасности имеет основополагающее значение для этой системы и присутствует с самого начала.

Контекст файла SELinux отличается от разрешений UNIX или расширенных ACL. Все должны позволить; да, selinux может отказать, когда базовые права доступа к файлам означают, что они разрешены.

Прочтите руководство RHEL 8 Использование SELinux и вики-страницу CentOS по SELinux . Используйте инструменты устранения неполадок там, в частности, sealert -a /var/log/audit/audit.logПросмотрите все отказы во время проблемы с вашим приложением. Проверьте, существуют ли какие-либо логические значения для переключения поведения, которое вы хотите.

1
ответ дан 1 November 2021 в 18:34

Благодаря @John Mahowald я нашел правильный угол для рассмотрения проблемы.

Причина в том, что все мои предыдущие виртуальные машины использовали режим SELinux permissive, а новая (GCP)работает в режиме enforcing.

Так что, если вы наткнетесь на странные эффекты, которые вы не можете объяснить, -см. ссылки Джона. Но сначала используйте команду sestatus, чтобы увидеть, какой режим установлен в вашем SELinux.

П.С. Я решил оставить его как разрешительный, поскольку принудительное выполнение просто нецелесообразно поддерживать. Я думаю, что весь этот SELinux — белый слон. Его необходимо заменить

0
ответ дан 2 November 2021 в 11:05

Теги

Похожие вопросы