мне нужно использовать Puppeteer в системе Centos 7.4.1708, но когда у меня есть SELinux, я получаю ошибки 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'
Регистрация политика:matchpathcon /var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome
Показывает:/var/www/html/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome system_u:object_r:httpd_sys_content_t:s0
выглядит неплохо, но потом...
Установить новый контекст в file:/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
в бродяге работает виртуальный ящик. Я не могу изменить smb, потому что он не синхронизирует оба способа с помощью узла Windows.
любой идеи, как я могу исправить эту проблему? Я занимаюсь этим уже почти два дня.
Примечание: Если я установлю SELinux в Permissive, то Puppeteer / Chromium будет работать без вопрос.
спасибо 🙂
Edit: я также должен упомянуть, что у меня httpd_use_nfs
значение on
.
вот pastebin всех моих булевых SELinux.
Edit 2:
используя совет @HBruijn, я пытаюсь смонтировать с определенным контекстом, но получаю ошибку.
как root команда:mount 10.0.0.1:/C/Users/Lee/Desktop/www /var/www -o context="system_u:object_r:httpd_sys_content_t:s0"
ошибка:mount.nfs: requested NFS version or transport protocol is not supported
Server 10.0.0.1
настройка частного сервера vagrantfile
.config.vm.network "private_network", ip: "10.0.0.0"
путь экспорта тот же путь Vagrant использует, когда он монтирует папку на vagrant up
Эл.г 10.0.0.1:/C/path/to/directory
.
какие идеи??