nginx 只用来下载一些静态文件,但老是遇到文件拒绝访问的问题,提示 failed (13: Permission denied)
目前已尝试下面方法:
# 将目录所有者设为 nginx 用户和用户组(测试这步非必需) chown -R nginx:nginx /var/www/html/example.com # 设置 web 目录 SELinux 安全上下文(这步起作用了) chcon -t httpd_sys_content_t /var/www/html/example.com -R
但是 web 目录下会经常生成新文件,这意味着生成文件后,又要手动设置上面的 SELinux 规则。。。
在不关 SELinux 的情况下,大佬们是怎么处理这个问题的?有没有设置规则是能一劳永逸的。。
我查了 RHEL 文档,它说 /var/www/html 目录下文件是自动获得 httpd_sys_content_t 权限的,但这与测试结果不符。。。
服务器用的是最新 centos8 稳定版。
1
koharu 2020-07-24 18:10:48 +08:00
chcon -t httpd_sys_content_t -R /var/www/html/
|
5
Nitroethane 2020-07-24 22:01:16 +08:00
默认情况下新建的文件是会继承所在目录的 security context 。再者,chcon 只是临时修改 security context,作持久改变的话得用 semanage 命令的 fcontext 子命令,具体的可以看 redhat 的文档
|
6
dingwen07 2020-07-24 22:13:10 +08:00 via iPhone
ls -dZ 看看 html 目录上下文到底是什么
chron 是临时更改 持久用 semanage fcontext |
7
LUREN OP |