【问题标题】:change ownership of file in apache更改apache中文件的所有权
【发布时间】:2017-01-08 04:57:54
【问题描述】:

我正在开发 apache 服务器并使用以下代码生成一些 tmpdir。

$tmpdatadir = "/home/user/tmpdata/".$id."/";

if (mkdir($tmpdatadir)) {
        /* do something */

}

创建的目录:

drwxr-xr-x 2 www-data     www-data        4096 Aug 30 17:16 147257020639481

但是当我尝试使用

写入一些数据时
exec ("cat file.txt >". $tmpdatadir."sample.txt")

我收到以下错误消息。

权限被拒绝。当我将文件复制为用户:用户时,我该如何更改目录的权限。我发现 chown 会这样做,但我不确定如何更改整个目录的所有权。

【问题讨论】:

  • 使用print shell_exec('whoami'); 来查看,女巫用户正在运行您的cat 行。如果不是(我说不会)www-data,那就是问题所在。创建目录后,您必须更改文件夹的权限。
  • 是的,它是 www-data 但是创建目录后如何更改权限?
  • 但我检查了 chown 用户必须是超级用户,但需要输入密码。 System("chown -R".$user.":".$user." myfolder");
  • 我认为你应该完全使用 PHP(和 php 函数)来完成它,而不是使用 PHP 创建文件夹,然后通过 system()*command line* 完成其余的工作,完全使用 PHP 完成。因为此时您是正确的用户www-data,并且可以从那里更改权限。

标签: php apache ownership


【解决方案1】:

首先,请检查www-data 文件夹和ls /lrt 的权限,这样您就可以查看您的用户是否能够在文件上写入。

然后,您可以使用命令:chmod 666 www-data 更改文件对所有用户的读写权限,在this link 中您可以找到chmod 命令的语法和一个有用的计算器,如果你想限制其他用户。
另外,我与您分享命令chownchmod 的具体功能。见this site

【讨论】:

    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2014-08-11
    相关资源
    最近更新 更多