重命名php

时间:2018-03-13 12:48:30

标签: php bash

尝试在PHP中运行rename命令时,我收到权限被拒绝错误。

它尝试重命名的文件位于另一个用户主目录中。

这是我到目前为止所做的:

鉴于PHP用户(userA)访问该组。所以当我运行id时     我明白了 uid=1004(userA) gid=1006(userA) groups=1006(userA),10(wheel),1007(userB)

PHP脚本以userA运行。

我从sudo chmod -R g+rwx ./*目录中运行/home/userB/subdomains/mp3s

当我导航到保存文件的目录时,在/home/userB/subdomains/mp3s/下并运行ls -lha我得到: -rw-rwxr-- 1 userB userB 62M Aug 8 2017 Stress Management - Lesson 1.mp3

因此该组具有读/写/执行权限,而我的userA可以访问该组,为什么不能重命名该文件?

1 个答案:

答案 0 :(得分:1)

所以我打赌你有这个花哨的CentOS实例的SELinux。在权限更改之上添加以下内容以允许PHP重命名文件:

sudo chcon -t httpd_sys_rw_content_t /home/userB/subdomains/mp3s/ -R

该命令可能需要不同的PHP CLI权限,而不是针对它运行的Web服务,但您可以在CentOS SELinux上找到有关该命令的信息如何:

https://wiki.centos.org/HowTos/SELinux

第一个命令对我有所帮助,并且被发现:

https://blog.lysender.com/2015/07/centos-7-selinux-php-apache-cannot-writeaccess-file-no-matter-what/