Apache服务器 - 如何写目录/文件设定在755,而不是777权限(Apache Webserv

2019-07-30 11:51发布

我只是学会了在我的Ubuntu Linux操作系统的本地主机首次安装Apache 2。 我做它与PHP5工作。

我注意到,只要我想要写一个文件或目录,我有和chmod 777目标。

但是从我的经验,在第三方托管解决方案的工作,我通常都可以写入到具有755级权限的文件,显示目录。

我能在我的本地做,这样我可以写入文件,并显示目录755个权限? 如果这个问题的答案很长,能有人给我一个链接到一个一步一步的指导,以做到这一点?

Answer 1:

你可能无法做到这一点,因为文件的所有者是比用户试图执行对文件的操作不同。

权限是:

所有者组,每个人都

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命令命令来实现你想要的结果。



Answer 2:

以下是网站内容管理(基于Apache),大多数人应该遵循一些简单的规则:

  1. 所有内容应chown'd&chgrp'd到Apache的运行相同的用户。 在新的Ubuntu的安装,用户和组都是“WWW的数据”。
  2. 如果要管理自己的用户组下的服务文件,那么你应该youself添加到WWW的数据组,并确保该组中的用户已经阅读到所有服务的文件和目录/写访问。 这里需要说明的是,你要确保不产生新的文件作为您的个人帐户。 这些应该仍然www数据所拥有。 做到这一点,最简单的方法是创建该文件作为自己,然后执行chown www数据:WWW的数据。

如果你做这些两件事情,那么你就应该能够写入正在被Apache服务的文件。 我不知道在您的文档根目录,但像这样将有可能对于大多数简单的安装工作:

$ sudo usermod $USER -a -G www-data 
$ cd /var/www
$ sudo chown -R www-data:www-data .


Answer 3:

首先,你要找出为你的PHP代码运行的用户。 如果您正在使用mod_php5 (包名libapache2-mod-php5 )与Apache与“工人”或“预派生” MPM运行,这将可能是www-data

这是没有什么大问题,只要你只运行在服务器中的一个Web应用程序。 但是,如果你运行多个应用程序(或由一个以上的用户所拥有的脚本),你是在和自己的各种与安全相关的“乐趣”。



文章来源: Apache Webserver - How to write to dir/files with permissions set at 755 instead of 777