PHP-对通过SSH创建的目录的权限被拒绝

PHP-对通过SSH创建的目录的权限被拒绝,php,linux,file-permissions,Php,Linux,File Permissions,在linux下,使用PHP5.3 如果我在php脚本中使用mkdir创建文件夹,那么我可以完全访问该文件夹以添加文件或在其中创建文件夹 如果我随后通过ssh登录服务器,创建第二个文件夹,chown(递归或非递归)与php mkdir()创建的用户组完全相同,并将其chmod为与第一个文件夹完全相同的权限,然后尝试访问此文件夹以添加文件或在其中创建新文件夹将抛出拒绝权限 尝试chmod 777也不起作用。我一辈子都搞不清楚这两者之间的区别: drwxr-xr-x. 2 amadeous psac

在linux下,使用PHP5.3

如果我在php脚本中使用mkdir创建文件夹,那么我可以完全访问该文件夹以添加文件或在其中创建文件夹

如果我随后通过ssh登录服务器,创建第二个文件夹,chown(递归或非递归)与php mkdir()创建的用户组完全相同,并将其chmod为与第一个文件夹完全相同的权限,然后尝试访问此文件夹以添加文件或在其中创建新文件夹将抛出拒绝权限

尝试chmod 777也不起作用。我一辈子都搞不清楚这两者之间的区别:

drwxr-xr-x.  2 amadeous psacln     4096  6 oct.  02:38 test
drwxr-xr-x.  2 amadeous psacln     4096  6 oct.  02:39 testtest
任何想法都值得赞赏

评论后编辑 apache用户与psacln组中的用户amadeous一起运行。 mkdir()使用此用户和组创建新目录 执行官(“whoami”)也返回amadeous。 但还是不行

在GUIDO对SELINUX的评论后编辑2 ls-Z确实给出了不同的结果,尽管我不知道如何理解:

drwxr-xr-x. amateous psacln system_u:object_r:httpd_sys_rw_content_t:s0 test
drwxr-xr-x. amateous psacln unconfined_u:object_r:user_tmp_t:s0 testtest
我该如何着手解决这个问题


谢谢

从httpd apache进程访问的文件和目录的正确标签是 ; 生成的文件具有
用户\u tmp\u t

ls -Z
drwxr-xr-x. amateous psacln system_u:object_r:httpd_sys_rw_content_t:s0 test
drwxr-xr-x. amateous psacln unconfined_u:object_r:user_tmp_t:s0 testtest
要修复标签,请运行():

chcon-t httpd\u系统内容

这是因为PHP正在使用www数据创建文件夹user@Bolli他将chown写给了完全相同的用户:与php mkdir()创建的用户组相同的用户组您是否正在使用
sudo
执行
chown
?因为普通用户不允许使用
chown
@Barmar My bad。但他应该尝试将所有权更改为www数据,以确保这不是问题所在。这两个文件看起来完全一样。让我困惑的是这两个文件夹的名称相同。那是怎么发生的?它们在不同的父目录中吗?可能是权限问题。
chcon -t httpd_sys_content_t <directory>