SELinux: restorecon не меняет контекст на httpd_sys_content_t
859
turrican_34
Мне нужно использовать Puppeteer в системе Centos 7.4.1708, но когда SELinux настроен на Enforcing, я получаю ошибки AVC.
Если я бегу, sudo cat /var/log/messagesя получаю:
SELinux is preventing /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome from search access on the directory /sys/fs/cgroup/cpuset. ***** Plugin restorecon_source (99.5 confidence) suggests ***************** If you want to fix the label. /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome default label should be httpd_sys_content_t. Then you can run restorecon. Do # /sbin/restorecon -v /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome
Это же сообщение появляется возможно 6 или 7 раз.
Когда я пытаюсь сделать выше, однако, restorecon не устанавливает контекст файла.
Установить политику (как root): semanage fcontext -a -t httpd_sys_content_t '/var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome'
Это выглядит хорошо, но потом ... Установите новый контекст для файла: /sbin/restorecon -v /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome
restoreconне работает Я не получаю никаких ошибок, даже если я использую -vv. Я также пытался заставить restoreconс, -Fно это не работает.
Вот текущий контекст файлов: ls -Z /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome Показывает: -rwxrwxrwx. root root system_u:object_r:nfs_t:s0 /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome
Текущий контекст nfs_tсвязан с тем, что я использую синхронизированные папки с nfsзапущенным виртуальным ящиком Vagrant. Я не могу перейти на smb, потому что он не синхронизируется в обоих направлениях с помощью хоста Windows.
Любые идеи о том, как я могу решить эту проблему? Я был там почти два дня.
Примечание: если я установлю SELinux на Permissive, то Puppeteer / Chromium будет работать без проблем.
Спасибо :)
Изменить: я также должен упомянуть, что я httpd_use_nfsустановил on.
Вот пастбин всех моих логических выражений SELinux.
Путь экспорта тот же путь, Бродячий использует при монтирует папку на vagrant upнапример 10.0.0.1:/C/path/to/directory.
Есть идеи??
1 ответ на вопрос
0
HBruijn
Я думаю, что вы пытаетесь решить проблему не с того конца, рассматривали ли вы возможность предоставить вашему веб-серверу доступ к общим ресурсам NFS с помощью:
setsebool -P httpd_use_nfs=1
РЕДАКТИРОВАТЬ На основе вашего комментария, что вы используете VirtualBox на Windows:
Я думаю, что ваш хост Windows не поддерживает маркировку, и тогда клиент (ваш CentOS) назначает политику безопасности по умолчанию как nfs_t.
Вам может потребоваться установить предпочтительный контекст безопасности в качестве опции монтирования, чтобы переопределить это значение по умолчанию (в команде монтирования или / etc / fstab):
# mount server:/export /var/www/html -o context="system_u:object_r:httpd_sys_content_t:s0"
Извините, я забыл упомянуть, что у меня уже есть `httpd_use_nfs -> on`. Я отредактирую ОП.
5 лет назад
0
Я добавил pastebin всех моих других логических выражений SELinux.
5 лет назад
0
Правильно ли я понимаю, что вы используете VirtualBox в Windows с гостевой ОС CentOS?
HBruijn 5 лет назад
0
Да, это правильно. Использование плагина winnfsd для работы nfs в Windows.
5 лет назад
0
Когда я запускаю это как root, я получаю эту ошибку: `mount.nfs: не удалось разрешить серверный сервер: имя или служба не известны mount.nfs: операция уже выполняется`
turrican_34 5 лет назад
0
Вам нужно изменить имя и путь к серверу с `server: / export / var / www / html` на то, что имеет отношение к вашей текущей настройке.
HBruijn 5 лет назад
0
Куда мне экспортировать, если мои файлы `/ var / www / html` находятся на хост-системе ?? Нужно ли синхронизировать папку операционной системы с гостевой папкой, например `/ fromhost / www / html`, затем использовать этот путь в качестве пути экспорта. `mount server: / fromhost / www / html / var / www / html -o context =" system_u: object_r: httpd_sys_content_t: s0 "`
turrican_34 5 лет назад
0
Использование mount не работает по некоторым причинам. Пожалуйста, смотрите Редактировать 2 в ОП. Получение ошибки `mount.nfs: запрошенная версия NFS или транспортный протокол не поддерживается`
turrican_34 5 лет назад
0