gpt4 book ai didi

cakephp - 对CakePHP app/tmp文件夹进行生产的正确所有权和权限是什么?

转载 作者:行者123 更新时间:2023-12-04 05:03:55 24 4
gpt4 key购买 nike

我想知道以下问题的答案和解释:

  • 哪个用户/组应拥有Cake文件?
  • (如果不同),哪个用户/组应拥有app/tmp文件夹? (和子文件夹)
  • 使用正确的用户/组,文件夹和文件的生产的正确权限是什么? (如果设置正确,也可以在开发中使用)
  • 上载文件的存储在哪里完成以及需要对该文件夹设置什么所有权/权限。相对于app/应该在哪里?

  • 我知道777可以修复错误,但是我想正确设置它。

    我听说,如果一切都正确设置,那么660对于生产来说应该绰绰有余了。

    谁需要 read访问权,谁需要 write访问权,有人需要 execute吗?

    最佳答案

    注意:我想我已经找到了答案,并且由于没有人写出好的答案,所以我会写。如果您对该主题比较了解,并且发现错误或安全问题,请告诉我,我们将予以纠正。

    1)CakePHP所有权

    CakePHP文件应该由您(计算机的用户)拥有(无论使用什么方式登录)。没有root作为拥有者!

    OSX: johnsmith/Users/johnsmith部分

    Linux: johnsmith/home/johnsmith部分

    2)应用/tmp所有权。

    根据CakePHP documentation:

    ...make sure the directory app/tmp and all its subdirectories in your cake installation are writable by the web server user.



    选项1:

    用户所有者必须是apache的用户。群组所有者可以是您所属的群组,因此您也可以通过finder/CLI访问此文件夹。没有 root作为拥有者!

    OSX:最近在OSX上预安装了Apache,并且apache的默认用户是 _www。但是,如果您不确定可以通过在运行Apache时键入终端 ps aux | grep httpd来找到它。最后一行是您刚刚键入的命令,因此请在其上方查看。

    现在您已经知道了您的apache用户,您必须将其分配给 app/tmp/。您可以使用以下命令执行此操作: sudo chown -R _www app/tmp/
    Linux: linux上的默认用户通常是 www-data和组 www-data。如果不确定,请使用 ps aux | grep httpd找出用户,并使用 sudo chown -R _www app/tmp/将所有权分配给该文件夹的apache。

    选项2:

    您可以将自己保留为用户所有者,但可以将组所有者设置为apache所属的组。默认情况下,apache有它自己的组,但是您可以创建一个新组并向其中添加apache。

    OSX:默认情况下,OSX上的Apache组与用户 _www相同。然后,您必须运行以下命令来确定所有权: sudo chown -R :_www app/tmp/。现在,如果您使用 ls -l检查权限,则应该同时看到您的用户名( johnsmith)和新的组所有者 _www

    Linux:* 默认情况下,Apache组是 www-data,因此请使用相同的命令来更改所有权: sudo chown -R :www-data app/tmp/

    注意:Debian/Ubuntu使用 www-data,而CentOS使用 apache

    3)权限

    要运行该网站,apache需要 readwrite而不是 execute。要访问它(假设您属于 app/tmp所在的组),如果要使用终端/查找器手动编辑内容,则还需要 readwrite。所有其他用户均无任何权利。所以:

    OSX&Linux: sudo chmod -R 660 app/tmp/-R部分是对所有内部文件夹进行递归操作。第一个 6供用户所有者使用(OSX: _www或Linux: www-data),第二个 6供组所有者使用(OSX: staff或Linux: johnsmith), 0供所有其他用户/ guest 使用。

    注意:根据CakePHP的 this pull request的说法,CakePHP 2.4似乎可以在 app/tmp/中创建子文件夹,这意味着它将需要 7而不是 6,以便用户现在成为 760

    4)上传文件夹

    如果要上传文件,则需要为 img/uploads文件夹或任何上传位置进行类似的设置。所有权将是相同的,但是权限需要具有执行权才能用于重命名和创建文件夹。因此以前的 660现在应该是 760。同样,理想情况下,上传文件不在 webroot/目录中,因此需要绝对路径。

    关于cakephp - 对CakePHP app/tmp文件夹进行生产的正确所有权和权限是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18899012/

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