Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
File 如何在Web服务器目录中设置安全权限_File_Permissions_Directory_File Permissions - Fatal编程技术网

File 如何在Web服务器目录中设置安全权限

File 如何在Web服务器目录中设置安全权限,file,permissions,directory,file-permissions,File,Permissions,Directory,File Permissions,我真的很困惑这个问题。我读了很多教程,但每一本都建议不同的练习 我在目录/var/www中有一个webserve,每个网站都在新文件夹(博客等)中。我认为文件夹权限必须是755,文件权限必须是644,好的。 但是,用户和组是这些文件和文件夹的所有者呢?我读到有人说必须是根:www数据有人说www数据:www数据,有人说不为了这些实践的安全原因。 这对我来说太复杂了,因为我们必须简化创建文件的过程,有时执行processe,同时还要确保安全。 什么是最佳实践? 任何人都可以向我解释 提前感谢这是一

我真的很困惑这个问题。我读了很多教程,但每一本都建议不同的练习

我在目录/var/www中有一个webserve,每个网站都在新文件夹(博客等)中。我认为文件夹权限必须是755,文件权限必须是644,好的。 但是,用户和组是这些文件和文件夹的所有者呢?我读到有人说必须是根:www数据有人说www数据:www数据,有人说不为了这些实践的安全原因。 这对我来说太复杂了,因为我们必须简化创建文件的过程,有时执行processe,同时还要确保安全。 什么是最佳实践? 任何人都可以向我解释
提前感谢

这是一个没有最终答案的问题,没有“对”或“错”

这取决于你的个人哲学,但也许有一些一般规则可以帮助你:

  • 始终尝试授予尽可能少的权利,以尽可能不费吹灰之力地保持高安全性

  • 为了将不同角色的写入和读取权限分开,理想情况是只有本地帐户才能写入web资源,而web服务器进程只能读取这些文件

  • 这对许多现代“web应用程序”都不起作用,大多数应用程序都要求该帐户的写入权限。这显然会带来很大的安全风险,因为您必须完全依赖其他人实现的代码质量。这是一个糟糕的情况,尤其是在web编程领域,安全漏洞是可以从外部访问的。因此,至少尝试将这些权利限制在那些真正需要写入的资源上:

    3.1仅对数据文件夹和嵌入式数据库文件等内容授予写入权限

    3.2仅当确实需要时(例如,在更新期间是临时的),才授予对实现文件本身的写访问权

    3.3如果可能,还应尝试将web应用程序的运行时数据和实现文件存储为单独的位置

  • 确保http服务器进程由未授予本地登录权限的本地用户帐户拥有(请参阅
    /etc/passwd
    ,应配置无效的shell,或采取类似的预防措施)

  • 对执行权要格外小心。只有极少数情况下,http服务器进程确实需要对已发布文档/文件中的文件执行权限

  • 不要授予对物理文件的直接访问权,始终通过处理程序“流”文件(其内容),以便脚本能够控制、验证和拒绝此类请求

  • 仅激活http服务器中真正需要的模块和功能

  • 和往常一样,最重要的规则是:

  • 了解你在做什么,不要盲目地遵循任何解释、建议或提示

  • 定期检查你的日志文件,不要推开那些突然进入你眼睛的东西


  • 非常感谢你的一般规则!也许我理解你的建议,一个文件和文件夹的用户所有者,而www数据组的这个用户部分应该是一个安全和功能性的实践?(当然是文件644和文件夹755权限)好吧,如果http服务器进程根本不需要对web资源的写权限,那么这听起来似乎是合理的。虽然您提到了这些权限,但该组不需要,因为它无论如何都没有写入权限。我在为该组(www数据)添加写入权限时考虑的是,只有一些文件夹(例如“上载”)“chmod g+w uploads”会使系统上的其他用户更难窥探。谢谢很好,你有主意了。如果您真的害怕“其他用户”(在服务器上?),那么您可能希望将常规权限降低到640/750。