我刚刚学会在我的ubuntu linux localhost上首次安装Apache 2。我正在使用PHP5。Apache Webserver - 如何写权限设置为755而不是777
我注意到,无论何时我想写入文件或目录,我都必须chmod 777目的地。
但是从我的第三方托管解决方案的工作经验来看,我通常可以写入具有755权限的文件和目录。
我可以在我的本地主机上做些什么,以便我可以用755个权限写入文件和目录?如果这个答案很长,有人可以给我一个链接指导一步一步来做到这一点?
我刚刚学会在我的ubuntu linux localhost上首次安装Apache 2。我正在使用PHP5。Apache Webserver - 如何写权限设置为755而不是777
我注意到,无论何时我想写入文件或目录,我都必须chmod 777目的地。
但是从我的第三方托管解决方案的工作经验来看,我通常可以写入具有755权限的文件和目录。
我可以在我的本地主机上做些什么,以便我可以用755个权限写入文件和目录?如果这个答案很长,有人可以给我一个链接指导一步一步来做到这一点?
您可能无法实现此目的,因为文件的所有者与尝试对文件执行操作的用户不同。
的权限是:
业主群大家
rwx-rwx-rwx
i.e. 111 = 7 which allows read/write and execute.
101 = 5 which is just read and execute
你不能在用户因为你的记录写入该文件不具有访问所有者/组的一部分文件。
最终的7(即rwx-rwx-111(7))意味着在全局范围内,每个人都可以读取/写入该文件。
如何解决这一问题
在Linux中,你可以使用chown或chgrp命令命令来实现你想要的结果。
首先,您需要了解您的PHP代码正在运行的用户。如果您使用mod_php5
(软件包名称libapache2-mod-php5
)与Apache一起运行“worker”或“prefork”MPM,则这可能是www-data
。
只要您只在服务器中运行一个Web应用程序,这不是什么大问题。但是,如果您运行多个应用程序(或由多个用户拥有的脚本),则可以为各种安全相关的“乐趣”设置自己的身份。
以下是网站内容管理的一些简单的规则(在Apache),大多数人应该遵循:
如果你做了这两件事,那么你应该可以写入由Apache服务的文件。我不确定您的文档根目录在哪里,但类似这样的内容可能适用于最简单的安装:
$ sudo usermod $USER -a -G www-data
$ cd /var/www
$ sudo chown -R www-data:www-data .