【问题标题】:restricting filesystem rights to apache/php for anything but logging operations将文件系统权限限制为 apache/php 以进行除日志记录操作之外的任何操作
【发布时间】:2012-12-24 15:31:26
【问题描述】:

你好,圣诞快乐,

我有一个奇迹。我的需要是允许通过 php 创建自定义日志文件和文件夹,但是我不希望 php 脚本能够在我的 unix 服务器上执行任何取消链接或有害操作。

重要的是要知道用户可能会使用自定义 php 脚本,这就是为什么我必须最大限度地防止有害操作,但要防止创建日志文件。

你知道这是否可以在 centOs6 下使用 Apache 2 完成吗?

感谢您的支持, S.

【问题讨论】:

  • 您可以通过 syslog 进行日志记录吗?如果是这样,那么您根本不需要向代码授予文件写入权限。
  • 谢谢,我忽略了这个功能。我认为它不符合我的需求,但我会看看它

标签: php apache unix permissions


【解决方案1】:

您可以使用 php 的 open_basedir 设置将它们限制在专用目录中以在其中创建和修改日志文件。此外,您可能希望将 apache 配置为不提供/执行该目录中的任何文件,因为它们可能会写入可执行文件。

您仍然需要担心禁用 exec() 等其他函数以防止它们运行系统命令,因为 open_basedir 是一个纯粹的 php 强制概念,不会通过文件系统权限系统影响服务器的其余部分。

“我的 unix 服务器上的或有害的操作”是困难的部分。您可能需要考虑设置一个虚拟机来为他们提供一个强大的监禁环境。

【讨论】:

  • 这很有趣,因为我没有答案,所以我研究得越来越多(还有更多......:D),我得出了同样的结论。调整架构花了我一点钱,但现在我有了一个整洁的 open_basedir + disable_functions .htaccess / php.ini 设置。谢谢!
  • 顺便说一句,谢谢你的不执行技巧,我没想到:-)
猜你喜欢
  • 1970-01-01
  • 2018-11-14
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
相关资源
最近更新 更多