В качестве учебного упражнения я установил машину CentOS 7 Vagrant VirtualBox на своем компьютере для разработки Fedora 29.Я использую Ansible для настройки VM.В моем Vagrantfile я монтирую свой файл проекта хоста следующим образом:
config.vm.synced_folder "/home/roger/projects", "/var/www/projects",
owner: "vagrant",
group: "nginx",
mount_options: ["dmode=775,fmode=775"]
В моей роли Nginx Ansible я делаю следующее (в дополнение к установке и запуску):
- name: set SELinux Nginx access to web root
command: semanage fcontext -a -t httpd_sys_content_t "/var/www/projects(/*)?"
- name: persist SELinux access
command: restorecon -Rv /var/www/projects
Когдаобращаясь к Nginx через браузер, я получаю ошибку 403 Forbidden.Если я настрою selinux на vm с помощью ssh, чтобы разрешить его, то файлы в моем каталоге проектов хоста будут обслуживаться правильно.
Записи в /etc/selinux/targeted/contexts/files/file_contexts.local
выглядят правыми:
/var/www/projects/* system_u:object_r:httpd_sys_content_t:s0
Я также попытался запустить команды в командной строке на виртуальной машине, чтобы обойти все, что связано с Ansible.
Чего мне не хватает?