【问题标题】:Can't save file with other permissions except for 777无法使用除 777 以外的其他权限保存文件
【发布时间】:2013-04-04 14:31:02
【问题描述】:

我有一个脚本可以调整图像大小,然后保存新图像。
如果原始图像没有 777 权限,我无法保存新图像。

我知道 777 是有风险的,因此当使用不同的权限(例如 775 或 755)时,它什么也不做。

  1. 为什么它什么都不做?
  2. 如何解决?

编辑:
无论 IMAGE 的权限是什么,我都希望能够使用我的脚本保存文件。

【问题讨论】:

  • 那你想完成什么?

标签: php apache permissions 777


【解决方案1】:

这一切都是因为您的服务器配置错误,这意味着 httpd 以不同于拥有所有文件的用户身份运行,这需要为others 设置write 权限。解决方案是修复服务器配置,使这些用户 ID 匹配。但是,如果您不熟悉服务器管理,这并非易事。其他(但这不是真正的解决方案)是将这两个用户放在一个组中,这样您就不会给每个人写访问权限,而是将其“限制”到您的组。但这不是一条可行的路。或者,如果您是服务器上的唯一用户,您可以将 httpd 设置为在您的 userid/groupid 上运行,而不是在它自己的上运行。但是,同样,这不应被视为“解决方案”。

【讨论】:

  • 如何更改该设置,以及如何调用此设置
  • 没有“选项”可以在 5 秒内更改。这是更复杂和复杂的任务。你可以开始阅读关于 suPHP 或 suEXEC 的文章
  • 我明白了。我应该只保留 777 权限吗?我什至不知道它有什么风险......我只知道它有风险。
  • 如果你在服务器上有其他用户,他们可能也可以写入你的文件,即在你甚至不知道的情况下植入他们的代码。这完全取决于您需要该服务器用于什么 - 只是开发机器,而不是暴露给世界?如果是这样,坚持你所拥有的。如果是公用服务器,恐怕其他方面也没有配置好。在这种情况下,我会考虑为我的项目购买一些共享主机,只是为了让其他人关心这个。
  • 它是托管在 123-reg.co.uk 上的服务器。我是 FTP 的唯一用户,网站是 public ofc(公司网站)。所以我可以保留 777 权限吗?
【解决方案2】:

您可以在 Apache 配置文件中重新设置 UserGroup 参数以作为另一个用户运行它。

【讨论】:

    【解决方案3】:

    您的网络服务器在与拥有图像的用户不同的用户下运行。要找出您的网络服务器在哪个用户下运行,请创建并运行这个 php 脚本

    <?php
    echo shell_exec('whoami');
    ?>
    

    【讨论】:

      【解决方案4】:

      1) 您创建一个具有 777 权限的新文件夹。

      2) 将图像保存在该文件夹中。

      我认为原始图像上不需要 777。

      .

      .

      为了安全,你需要:

      A) 检查上传文件的扩展名并调用自定义调整大小/图像功能。这将确保文件始终转换为图像。

      B) [.htaccess](在您的用户上传图片目录内)=

      #Disable directory indexes & folder listing
      
      [deny any file other than image]
      <Files ^(*.jpeg|*.jpg|*.png|*.gif)>
      order deny,allow
      deny from all
      </Files>
      

      【讨论】:

      • 没错,但 777 是有风险的,不是吗?尤其是文件夹
      【解决方案5】:

      你可以在之后尝试 chmod,但这很大程度上取决于 php 守护进程所拥有的权限;

      chmod("/somedir/somefile", 755);
      

      使用fileperms(),您可以获得所创建文件的当前权限。

      【讨论】:

      • 很伤心。我希望 WebnetMobile 的解决方案对你有用:)
      猜你喜欢
      • 1970-01-01
      • 2018-12-17
      • 2010-12-24
      • 2014-07-19
      • 2013-03-03
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多