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