LAMP:build议的目录和文件权限

我的项目驻留在共享的Linux托pipe服务器上。 托pipe服务提供商当然已经build立了相对于其他服务器用户所需的目录和文件所有权。 我现在关心的是如何在我的域中设置权限,这样我的用户就可以读取他们应该拥有的文件和文件夹,并让我的脚本保持对它的读/写访问权限。

问题:什么是build议的权限:

  1. 公用文件和文件夹(只读?)

  2. 存储从表单上传文件的文件

  3. GD和caching文件被写入的文件和文件夹

  4. 存储服务器端脚本的文件夹(我主要使用PHP)

  5. 我的WWW根文件夹(index.php所在的地方)

先谢谢了。

这是您需要“最低特权原则”的最佳例子。 允许ReadOnly向RO服务器的用户提供RO内容,只允许写入一个完全需要写入的目录/文件。 显式拒绝访问你不想让人阅读的东西(配置文件,htaccess,任何带有路径/ ip地址/密码的东西),如果你不使用它,不允许任何额外的处理(CGI可执行文件,服务器端包含)。

做到这一点的最好办法就是从一开始就否认所有事情,并且随着时间的推移慢慢开放。 首先尝试提供静态内容,看看Apache指令/模块的最小数量和文件系统的所有权和权限是多少。 然后尝试一些RO PHP脚本。 然后尝试一些RW PHP脚本。 然后数据库连接,等等,你会明白…这是一个非常乏味的过程,你想提前计划你想测试的东西; 我倾向于使用wget命令编写长的脚本,试图对服务器做好事和坏事。 进行一次更改,重新启动,重新运行脚本,查看上次更改的内容。 观察 – 修改 – 分析,直到你不能再看着它;)