php遍历目录的小程序无法遍历/root
$handle=opendir("/root");while($filename=readdir($handle)){
echo $filename;
echo "<hr/>";
}
closedir($handle);
很简单的一个小程序,遍历/tmp是没有问题的,但是遍历/root时就会报错,估计是权限的问题,我要怎么提升权限,让这个程序可以读取/root下的文件??这个PHP文件的属组,属主都是root 运行的环境说明一下,你/root是什么权限设置,php是什么版本,php运行环境是什么?不然让别人怎么才能说明白。修改了一下你的代码<?php
$handle=@opendir("/root");
while($filename=@readdir($handle)){
echo $filename;
echo "\n";
}
closedir($handle);
?> 本帖最后由 alexei99 于 2012-11-22 22:00 编辑
setfacl -m u:apache:rwx /root,但是还是没有权限访问?有明白一点的人吗?大家不要让我chmod 777 /root 这个没有意义。我是想找一个在程序里提升权限的方式,要是在服务器上修改就没有什么意义了 :em17::em17::em17::em17::em17: 为什么没有人回复呢?后来发现我是源码包安装的,所以用户不是apache,现在设置ACL以后可以遍历了,但是有在程序里设置权限的方式吗?访问一些权限比较特殊的目录? chmod -r 777 /root 你只能改一下目录的权限了,apache是不会用root提供服务的,worker进程一定会setuid降权的,如果你强制配置它的工作用户是root,它不会启动成功 谢谢,楼上的。我试着强制用户是root,就启动不了了。 回复 3# alexei99
你要遍历 /root 目录,要求运行php程序的用户有 /root 目录的执行权限,你想不通过服务器来设定而自己给自己提权,恐怕是不能实现的。 回复 7# linux_c_py_php
如果想让Apache以root账户来运行,必须在编译时添加相应的编译选项,默认是禁止root账户启动的。
页:
[1]