gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:54 27 4
gpt4 key购买 nike

linux下,使用php 5.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() 确实使用该用户和组创建新目录exec("whoami") 也会返回 amadeous。但是还是不行。

在 GUIDO 对 SELINUX 发表评论后编辑 2ls -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 进程访问的文件和目录的正确标签是 httpd_sys_content_t ;而生成的文件有 user_tmp_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

要修复标签,请运行(more info):

chcon -t httpd_sys_content_t <directory>

关于PHP - 对通过 SSH 创建的目录的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com