Ваш процесс php-fpm
выполняется в контексте httpd_t
(, точнее scontext=system_u:system_r:httpd_t:s0
), поэтому, если вы планируете изменить контекст файла cert9.db
, вы можете использовать один из httpd_*
типов.
Из этих типов два выглядят так, как будто они могут быть близкими совпадениями :httpd_cache_t
, так как файл находится под /var/cache
, или httpd_var_lib_t
, поскольку /var/lib
очень похож на /var/cache
во многих отношениях. Таким образом, вы можете попробовать попробовать эти два средства, чтобы посмотреть, действительно ли они решают вашу проблему и не вызывают ли они каких-либо других проблем или нежелательных побочных эффектов.
Думаю, правильный ответ на этот вопрос требует более внимательного изучения политики SELinux, роли файла cert9.db
и его содержимого и того, что с ним делает php-fpm
... Если у вас есть подписка в RHEL, рассмотрите возможность создания проблемы с Red Hat, попросив их взвесить, какое решение этой проблемы подходит,вы могли бы получить лучший ответ от них.
Оказывается, ошибка с error: process ID out of range
также возникала при запуске в контейнере с docker rum -ti bash
. Я просто почему-то не увидел ошибку, и установка прошла успешно. Так что я не заметил и подумал, что проблема где-то в Докере, а это не так.
Мне удалось получить то, что я хотел, удалив все строки сценария install_spinnaker.sh
, которые мне не нужны, включая ту, которая вызвала ошибку. Он также удаляет вопрос, поэтому в сценарии осталось только два вопроса. Для этого я:
sed -i '50,101d' install_spinnaker.sh`
перед запуском скрипта.
В Dockerfile слой теперь выглядит так:
RUN cd /app/spinnaker-1.23.0.27-amd64 && \
sed -i '50,101d' install_spinnaker.sh && \
printf 'y\nn\n' | sh install_spinnaker.sh