【问题标题】:how to choose which user php runs in?如何选择运行哪个用户php?
【发布时间】:2014-05-26 22:46:04
【问题描述】:

我希望 php 能够读取特定文件夹的所有子文件夹中的任何文件(我使用的是 Ubuntu 12.10)。 php 用户(由 posix_geteuid 和 posix_getpwuid 返回)是 'www-data'。

其中一个文件的权限为“-rw-r--r--”,父文件夹均为“drwxr--r--”或“drwxrwxr-x”。

既然所有 R 都打开了,难道没有用户能够读取所有这些文件吗?我不想将所有文件的所有者更改为“www-data”,我该如何使用正确的用户运行 php?提前致谢。

【问题讨论】:

  • 您在网络服务器下运行它。除非您使用 suphp 之类的东西,否则您将始终以与网络服务器相同的用户 ID 运行。另外,仅仅让文件可读是不够的。包含目录的父目录也必须可供您想要的任何用户访问。
  • 把www-data放在同一个组里?
  • 好吧,一切都在同一台计算机上。当我尝试 getimagesize() 时,为什么会出现“无法打开流:权限被拒绝...”?我需要改变什么?
  • 我该怎么做,@Loïc?我进入了用户帐户配置,但我无法添加用户“www-data”,它不会让 - 名称中的连字符...
  • OK,第三个 R 是“其他人”的读取权限。如果路径中的所有文件/文件夹都启用了第三个 R,为什么 www-data 不能读取它们?

标签: php linux


【解决方案1】:

当我看到你所说的文件没有问题时,我不明白为什么用户是个问题。每个人都应该有权阅读您的文件。正如 Marc B 所说:您将始终使用相同的 userId,所以.. 确保此用户可以读取文件,或将他变成所有者文件。

【讨论】:

  • 谢谢。我是 linux 新手...看来我需要将“www-data”用户放在正确的组中。它应该是什么组,我该怎么做?
  • 如果您是新手,您应该了解一些有关权利的知识:linux.org/threads/file-permissions-chmod.4094。我希望它会帮助你,对于你应该使用的组,我不知道,看看不同的组(已经存在),看看他们有什么权利..希望我能帮助你!祝你好运!即使 Linux 一开始很难,你也会发现它很棒。
  • 谢谢。我喜欢 Linux,并且已经知道一些事情。我在这里将用户“www-data”添加到我的组中(我使用“组”命令来查找)。然后我重新启动。但我不断收到相同的消息“无法打开流:权限被拒绝”。为什么??
  • 您使用了 LAMP 服务器吗?
  • 不,我不使用 LAMP 服务器。
猜你喜欢
  • 2018-04-25
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
相关资源
最近更新 更多