linux删除php文件权限不够,linux - 用php的exec()删除目录文件提示权限不够

我在用浏览器访问服务器上的php文件,然后用exec()删除某目录文件,提示权限不够,经过一顿搜索之后,我已根据很多文章的描述进行下面的权限设置,请问还有什么漏了设置的地方导致权限还是不够?

代码test.php:

$a = exec("rm /var/test/test.txt 2>&1",$result,$status);

print_r($result);

关于权限的服务器设置:

1、apache的httpd.conf中的user和group现在是apache。

bVmFtt

2、利用visudo给了apache和root一样的权限,并把Defaults requiretty注释了。

bVmFtu

bVmFtF

3、将/var/test文件夹的权限给足,用户和用户组设为apache

bVmFtB

4、test.txt的权限和用户、用户组也设置了

bVmFtD

访问192.168.1.xxx/test.php还是不能删掉,还是提示这个:

bVmFtH

回复内容:

我在用浏览器访问服务器上的php文件,然后用exec()删除某目录文件,提示权限不够,经过一顿搜索之后,我已根据很多文章的描述进行下面的权限设置,请问还有什么漏了设置的地方导致权限还是不够?

代码test.php:

$a = exec("rm /var/test/test.txt 2>&1",$result,$status);

print_r($result);

关于权限的服务器设置:

1、apache的httpd.conf中的user和group现在是apache。

bVmFtt

2、利用visudo给了apache和root一样的权限,并把Defaults requiretty注释了。

bVmFtu

bVmFtF

3、将/var/test文件夹的权限给足,用户和用户组设为apache

bVmFtB

4、test.txt的权限和用户、用户组也设置了

bVmFtD

访问192.168.1.xxx/test.php还是不能删掉,还是提示这个:

bVmFtH

通过

你就可以知道为何你没有权限删除了啊

另外, 在PHP中直接创建一个文件, 看看他是什么权限,也能看到你的php的执行用户和用户组

根据上面的权限配置,应该是能删除的呀。

LZ要不试试重启下apache服务器,然后再执行代码。

注意到php.ini里提供有一个open_basedir配置,也就是只有在open_basedir里的目录,PHP才能进行操作,所以如果你开启了open_basedir限制,那你就应该把/var/test这个目录加到open_basedir里,重启Apache:

open_basedir="/tmp/:/var/www/html/:/var/test/"

Linux上目录用冒号(:)分隔,Windows上用分号(;)分隔.

很奇怪,你把apache加入了visudo里,为什么sudo -u apache 还是不能删除文件?也就是说sudo并没有成功赋给apache这个用户了

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值