Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux LAMP:建议的目录和文件权限_Linux_Security_Lamp - Fatal编程技术网

Linux LAMP:建议的目录和文件权限

Linux LAMP:建议的目录和文件权限,linux,security,lamp,Linux,Security,Lamp,我的项目驻留在共享Linux托管服务器中。当然,托管提供商已经设置了与其他服务器用户相关的必要目录和文件所有权。我现在关心的是如何在我的域内设置权限,以便我的用户可以对他们应该拥有的文件和文件夹进行读取访问,并且仍然让我的脚本保留对它的读/写访问权限 问题:建议的权限是什么: 公共文件和文件夹(只读?) 存储表单上传文件的文件 写入GD和缓存文件的文件和文件夹 存储服务器端脚本的文件夹(我主要使用PHP) 我的WWW根文件夹(index.php所在的位置) 提前谢谢 这是一个完美的例子,说明你需

我的项目驻留在共享Linux托管服务器中。当然,托管提供商已经设置了与其他服务器用户相关的必要目录和文件所有权。我现在关心的是如何在我的域内设置权限,以便我的用户可以对他们应该拥有的文件和文件夹进行读取访问,并且仍然让我的脚本保留对它的读/写访问权限

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

  • 公共文件和文件夹(只读?)

  • 存储表单上传文件的文件

  • 写入GD和缓存文件的文件和文件夹

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

  • 我的WWW根文件夹(index.php所在的位置)


  • 提前谢谢

    这是一个完美的例子,说明你需要最小特权原则。允许Web服务器用户只读RO内容,只允许写入绝对需要写入的目录/文件。明确拒绝访问您不希望人们阅读的内容(配置文件、htaccess、任何带有路径/ip地址/密码的内容),如果您不使用它,则不允许进行任何额外处理(CGI可执行文件,服务器端包括)


    最好的方法是从否认一切开始,然后慢慢地把事情打开。首先尝试提供静态内容,看看Apache指令/模块以及文件系统的所有权和权限的最小数量是多少。然后尝试一些RO PHP脚本。然后尝试一些RW-PHP脚本。然后是数据库连接,等等,你会想到。。。这是一个非常乏味的过程,你需要提前计划你想要测试的东西;我倾向于使用wget命令编写长脚本,试图对服务器做好事和坏事。进行一次更改,重新启动,重新运行脚本,查看上次的更改。观察修改分析,直到你再也无法忍受它;)

    当你说“我的用户”时,你指的是有权访问服务器文件系统的其他人,还是访问你网站的用户?哦,对不起。我指的是网站的最终用户,他们主要通过浏览器访问内容。那么,我将从所有目录的664权限开始?很抱歉,我只是从Linux开始。我宁愿从更严格的(apache:apache,400)开始,但如果您对这一点完全陌生,那么从允许的664开始可能会更容易。这里的重点应该是,如果你在权限方面有问题,你真的不应该负责强化面向互联网的网站。正确分配所有权、权限和umask即使对一个老兵来说也是很棘手的。