我有一台NGINX服务器在具有SELinux enforcing
的CentOS上运行,并成功提供了静态文件。根据{{3}}的建议,我以root
的身份执行了以下命令:
semanage fcontext -a -t httpd_sys_content_t "~/example.com/public(/.*)?"
之后
restorecon -R -v ~/example.com/public
要获得以下结果:
example.com (httpd_sys_content_t)
├── public (httpd_sys_content_t)
│ └── test.html (httpd_sys_content_t)
└── app.js
即使删除项目并使用非root用户重新创建项目,如何确保我的公共目录~/example.com/public
及其内容始终具有httpd_sys_content_t
。到目前为止,当我删除项目并重新创建时,我必须运行:
restorecon -R -v ~/example.com/public
恢复配置。
这种担忧源自我希望能够从github克隆项目并准备开始的事实。
旁注:我可以改为使用AppArmor来实现此行为吗?