为啥linux下web目录文件权限为777 但是php无法写入
8个回答
展开全部
虚拟机安装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迁移 –防止权限升级
对于用户只赋予最小的权限
解决:关闭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迁移 –防止权限升级
对于用户只赋予最小的权限
展开全部
有可能linux查看的 和 php使用的 不是同一个用户。所以你表面上看起来是777了,实际上php操作的那个用户根本不是
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chmod -R www 目录
chgrp -R www 目录
试试这两个命令,将目录所有者及所有组改为www用户的
chgrp -R www 目录
试试这两个命令,将目录所有者及所有组改为www用户的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你用 ll -Z 查看安全上下文。
如果要写入,请确保文件有 http_sys_rw_content_t 标签在目录。
如果要写入,请确保文件有 http_sys_rw_content_t 标签在目录。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-10-18
展开全部
那你得看提示什么?不要设置为777,755就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询