linuxphp目录权限
我们的服务器是这样做的:
php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。
改apache/php的运行用户方法不安全,不建议使用。
Ⅱ 为啥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下如何设置某个文件夹内的PHP文件为不可执行权限
linux
下的chmod
命令可以实现你想要的功能。
这是一个授权命令
简单的说
基本权限就3种
读
写
执行
r
w
x
4
2
1
chmod
666
文件夹名称
-R
-R
表示遍历这个文件夹所有文件跟目录
这样就可以设定所有用户对
这个文件夹以及这个文件夹下所有文件
只能进行读写操作
且不能执行。
chmod
333
文件夹名称
-R
这样这个文件夹就只剩
写跟可执行的权限
且无法读取。
或者可以使用
chmod
+x
文件夹名称
或者
-x
来设定
权限
可执行与不可执行
其他权限一样。
Ⅳ linux环境,PHP文件存在且目录以及文件权限已经开到最大了file_exists仍然为fals
上代码和文件实际路径,多半是路径没配丛搞对,要搞清楚相对厅乎路径和培伏樱绝对路径,还有别把系统根目录和站点根目录搞混了。
Ⅳ 关于Linux如何设置某个文件夹内的PHP文件为不可执行权限
你这么想嘛首先,完全操作的权限是 7如果你要去年去掉执行权限,那么就减1就是6啦因此设定一个文件夹(包括子文件),可读可写,那么命令就是chmod -R 666 [目录名]为什么是3个6呢,第一个6代表这个文件的所属用户,这二个6代表,用户所属的组,第三个则表示其它用户!下面举个实例,我要把 /var/www/data 目录的所有文件改为当前用户具有全部权限,用户组和其它用户不可执行,那么命令就是chmod -R 766 /var/www/data如果执行命令时出现错误就在前面加个sudo sudo chmod -R 766 /var/www/data 同理,要禁止一个文件不能写入的话,7-2=5so chmod -R 755 /var/www/data
Ⅵ linux如何设置php创建文件的默认权限
可以使用php代码设置创建文件的umask值:
<?php
exec('touch /tmp/b1');$oldmask=umask(0);exec('touch /tmp/b2');
umask($oldmask);?>
参考:http://www.php.net/manual/zh/function.umask.php
Ⅶ php创建目录权限
php创建一个有读写权限的目录,使用以下代码,不要直接使用mkdir函数指定权限,以避免系统umask的影响
mkdir('./xw/'); //创建名为'xw'的目录
chmod('./xw/',0777);//设置目录权限为0777
Ⅷ php 上传文件目录权限设置
linux 下,设置该目录权限为0777,或者命令行 chmod 777 文件或目录
Ⅸ php创建文件夹,linux中还是权限755,怎么办
一般都是由于新建用户权限不够导致。Linux 非root用户不能创建目录的解决办法:有些时候安装应用,需要新建一个用户,用户建完之后,发现在常见的目录(/home)下面不能建立目录,必须求助于root用户,建立完毕,例如建立一个目录ubsadm。 这个时候/home/ubsadm 目录存在。切换到应用用户(例如为:ubsadm) 这个时候主目录应该为/home/ubsadm,发现用touch、mkdir等命令无法创建文件/文件夹。 很头疼。这个时候需要看下ubsadm目录的属性:发现目录的属主和组都是root 这个时候要使用root用户下的chown命令来改变属组。chown -R ubsadm:users /home/ubsadm这个时候注意,请尽量不要使用sudo命令提权来执行,虽然可能成功,但是对管理会造成混乱。也不要试图使用usermod命令去改变ubsadm组为root执行完毕之后,使用ubsadm登陆,即可实现创建用户成功。
Ⅹ php在linux下目录权限的问题
http 服务器程序跑的 php 代码,所以这个文件的所有者是 http 服务器所跑的用户名和组名。
所以你新建的文件为 daemon 所有者,群组是 daemon 是正确的。因为他是 http 服务器程序建立的,自然所有者为 http 服务器程序所运行的所有者。
之所以 http 服务器程序不跑 root 或者某个现实用户的 ID ,那是安全考虑。不然你的 php 代码被黑,你的整个系统,或者某个用户就不保了。
从这个来看,红旗的服务器程序是用 daemon 用户跑的。最安全的办法是每个服务都单独跑一个用户 ID ,这个 ID 没有任何权限,也不加入其他的组从而保证系统绝对安全,好像 RHEL/SUSE 都是这么跑到。