微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

permissions – 授予PHP写入文件和文件夹的权限

更新进一步的清晰度:

根据http://expressionengine.com/user_guide/installation/installation.html,它说:

For most Unix hosts the following is typical, but you may check with your host to see if more restrictive permissions can be used to allow PHP to write to files (666) and folders (777). On Windows servers the following will not apply, but you will need to ensure that the files and folders are writable by ExpressionEngine. You may need to contact your host for this.

不确定这意味着什么.我可以将特定的文件文件夹分别更改为666和777,其中我是chown’er,但上面的声音听起来像我需要允许PHP这样做?

原始问题:

我需要确保PHP可以写入特定文件(666)和文件夹(777).

我该怎么做呢?

解决方法:

编辑:哎呀,对不起,我没有看到这个话题很老.哦,它可以帮助其他人..

我将用技术解决方案完成rahmu和MV的答案.

查找Web服务器用户名

首先,您需要知道Web服务器运行时的用户名.
如果您使用的是Apache,它可以是apache或httpd,www-data等.在大多数类似Debian的系统上,Apache都是www-data.

要查看它,请尝试:

ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1

确保此命令返回的用户名是一致的(例如,我使用Apache 99%的时间,但此命令返回tomcat7).

授予Web服务器权限(chmod,chown)

一个666或777的chmod就足够了,但是不安全.
授予666或777权限将允许访问“其他人”.所以不仅仅是Apache,还有你的祖母和国家安全局.

最好是更准确地给予你和Apache的权限,但不是我们的祖母.更改文件组以完全控制文件到Web服务器.为此,请递归更改所有者:

chown -R www-data:www-data /folder/used/by/EE

或者,您可以通过仅更改组来保持对文件的完全访问权限:

chown -R yourusername:www-data /folder/used/by/EE

然后,使用适当的chmod为组www-data提供与您相同的权限.例如,如果实际模式为640,则将其设置为660.有关更多说明,请参阅rahmu的答案.

授予Web服务器(ACL)权限

有时第一种解决方案是不够的.
我将以Symfony Framework为例记录并缓存大量数据.因此它需要对相应文件夹的写访问权限.

当您在CLI(在我的用户帐户下)和Web(Web服务器用户)并行使用Symfony控制台时,chmod / chown方法可能还不够,这会导致很多问题,因为Symfony会不断修改权限.

在这种情况下,我们将使用ACL(访问控制列表),这是一种更高级的方法来管理权限.

这里是官方Symfony文档提供的命令(请根据您的需要调整app / cache和app / logs):

支持chmod a的系统上

sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs

不支持chmod a的系统上

您将需要setfacl工具,认情况下它可能已安装在您的系统上.否则,请遵循Ubuntu documentation.

sudo setfacl -R -m u:"www-data":rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:"www-data":rwX -m u:`whoami`:rwX app/cache app/logs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐