linuxweb目录
㈠ 为啥linux下web目录文件权限为777 但是php无法写入
这个是要添加可执行权限么 试试,chmod a+x /(文件所在目录) 这个是给所有身份添加可执行权限的!
PHP 的mkdir命令受apache账号权限限制,只能创建低于其权限的目录
但chmod不受其限制
代码:
[php] view plain
function makeDir($dir, $mode = 0777) {
if (!$dir) return false;
if(!file_exists($dir)) {
mkdir($dir,$mode,true);
return chmod($dir,$mode);
} else {
return true;
}
}
你好好看看这个http://www.linuxprobe.com/chapter-05.html是不是自己有那个地方弄错了 ,希望可以帮助你啊
㈡ 为啥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迁移 –防止权限升级
对于用户只赋予最小的权限
㈢ linux修改了web主目录
操作步骤如下:
1、切换到root用户,直接修改/etc/passwd文件,找到用户名一行,如下图所示修改路径,然后保存即可;
2、切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为用户名),使用该命令请确保该用户下没有运行的软件或进程;
3、最后切换到普通账户,就会看到当前默认目录已经更改了。