为啥linux下web目录文件权限为777 但是php无法写入

如题所述

虚拟机安装linux系统,所有权限都是777的情况下任然无法访问,这个问题卡了我两天,最后尝试了以下这个方法,终于解决了。
解决:关闭SELinux
关闭SELinux的方法:
1. 临时关闭: 使用命令setenforce 0
2. 永久关闭: 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

相关信息:
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
对访问的控制彻底化MAC(Mandatory Access Control)
对于所有的文件,目录,端口这类的资源的访问,都可以是基于策略设定的,这些策略是由管理员定制的、一般用户是没有权限更改的。
TE (Type Enforcement)– 对于进程只赋予最小的权限
Te概念在 SELinux里非常的重要。它的特点是对所有的文件都赋予一个叫type的文件类型标签,对于所有的进程也赋予各自的一个叫 domain的 标签。Domain标签能够执行的操作也是由access vector在策略里定好的。
domain迁移 –防止权限升级
对于用户只赋予最小的权限
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-19
有可能linux查看的 和 php使用的 不是同一个用户。所以你表面上看起来是777了,实际上php操作的那个用户根本不是本回答被提问者采纳
第2个回答  推荐于2017-08-29
chmod -R www 目录
chgrp -R www 目录
试试这两个命令,将目录所有者及所有组改为www用户的本回答被网友采纳
第3个回答  2018-07-30
建议你用 ll -Z 查看安全上下文。
如果要写入,请确保文件有 http_sys_rw_content_t 标签在目录。本回答被网友采纳
第4个回答  2016-10-18
那你得看提示什么?不要设置为777,755就行

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网