我有一个SuPHP和DirectAdmin的服务器。 我的许多(但不是全部)用户正在运行Joomla和Wordpress。 如果我chmod public_html和子文件夹为700会出现问题吗? 他们需要更多的权限?
怎么样的文件? 什么应该为他们最小 , 最安全和足够的默认权限? 那是400吗? 或者也许600?
换句话说,我的问题是集中关注组和世界用户的权限。 任何问题,如果只有用户有需要的权限? 我想通过使用SuPHP,一切都由业主来完成,并且不会有任何问题来限制小组和世界的用户组。
我宁愿给每个对象(文件,文件夹)至less有足够的权限工作没有任何问题。
这是我的经验,这取决于configuration。
PHP文件可以设置为600,这样用户就可以读取和写入它们,而suPHP应该负责将用户设置为网站所有者。 您可能需要确保所有者已设置为用户,因为旧的安装可能拥有像www-data这样的所有者。 您也可以将它们设置为400,但可能会遇到无写入权限的用户支持问题,并且不会大大提高安全性。
其他文件通常需要像644这样的权限,因为Apache将会以用户www-data的forms读取它们,而这些数据不会是这些文件的所有者或组。 这也适用于.htaccess和phi.ini。 因此,作为所有文件的默认值,您可能需要644。
目录权限,如果你有一个在其中有一个public_hml的主目录,理想的是设置700,但一些configuration似乎需要711阿帕奇(和其他一些工具)的工作。 假设700应该比711更好地保护你 – 比如711,如果有人可以猜到这个文件,文件(比如configuration为644的configuration文件(Joomla推荐的一个默认值,通常由networking服务器申请新文件)位置 – 这并不困难(也许你已经学会了许多joomla和wp网站的pipe理员)。 与public_html和其他目录类似,这些可能需要高达755.但是,您应该尝试使用自己的configuration,find网站加载的最低权限,然后返回并确保您支持或提供给客户端的任何工具(如CPanel文件pipe理器)也正常工作。 如果您可以将主目录或public_html设置为700,则可以在configuration.php上testing跨账户的读取 – 我发现我的CPanel帐户拥有711主目录,并且可以跨用户帐户读取644 configuration.php。 我看到一个关于符号链接问题的CPanel讨论,它可以很容易地跨越帐户,所以权限变得相当重要 – 一个站点被黑了,整个服务器的风险比应该高。 有人build议将主目录设置为700将防止在目录下的任何地方读取,但能够做到这一点似乎依赖于configuration。 但是,主目录上的700可能与您所能提供的圣杯相近,如果有效的话(这似乎取决于configuration)。
我不是一个真正的专家,当然不知道你可能会发现的configuration的范围 – 但我回答,因为我看到这是一个6周的问题,需要一个很好的答案。 希望你会得到更广泛的服务器configuration专家来改善这个答案。