我只是学会了在我的Ubuntu Linux操作系统的本地主机首次安装Apache 2。 我做它与PHP5工作。
我注意到,只要我想要写一个文件或目录,我有和chmod 777目标。
但是从我的经验,在第三方托管解决方案的工作,我通常都可以写入到具有755级权限的文件,显示目录。
我能在我的本地做,这样我可以写入文件,并显示目录755个权限? 如果这个问题的答案很长,能有人给我一个链接到一个一步一步的指导,以做到这一点?
我只是学会了在我的Ubuntu Linux操作系统的本地主机首次安装Apache 2。 我做它与PHP5工作。
我注意到,只要我想要写一个文件或目录,我有和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命令命令来实现你想要的结果。
以下是网站内容管理(基于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与“工人”或“预派生” MPM运行,这将可能是www-data
。
这是没有什么大问题,只要你只运行在服务器中的一个Web应用程序。 但是,如果你运行多个应用程序(或由一个以上的用户所拥有的脚本),你是在和自己的各种与安全相关的“乐趣”。