如何安全地对php、html、css、js、png和文件夹进行chmod权限设置?

4

我有一个本地主机,文件都是777权限。但如果我想将它们上传到真实服务器上,每种文件类型的正确安全权限是什么:

php、html、css、js、png和目录

非常感谢。

2个回答

5
假设您正在运行 Apache 并且它作为非特权用户执行,Web 服务器需要能够读取和提供您的内容。
对于目录,Apache 需要读取和执行权限。HTML、JS、CSS 和图像文件仅需要读取权限。可执行的脚本(如 PHP)需要读取和执行权限才能正常工作。因此,对于目录和 PHP 脚本,您需要使用 o+rx 或八进制可能是 755(具体取决于您如何设置组所有权)。对于 HTML、JS、CSS 和图像文件等不可执行内容,您需要使用 o+r 或八进制中的 744。
八进制数是 owner、group 和 other 的一系列位标志,分别对应于 execute、write 和 read。1 对应于 execute,2 对应于 write,4 对应于 read。
要确定标志是什么,您需要将每个组的每个位相加。因此,755 表示所有者拥有完全权限(1+2+4),而组和其他人则拥有读取和执行权限(1+4)。

对于不可执行内容,o+r 不是应该是 644 吗? - Andy

3

在服务器上,目录权限通常应该为755,文件权限应该为644。由于安全原因,不建议使用777权限。


所有文件都是744吗?PHP呢? - sishma
所有文件都是644,而不是744,出于安全原因,即使对于php也是如此。我不仅猜测我们的网站正在使用这些权限运行,而且对于任何脚本,它应该是755或可执行权限。 - Bobbin Zachariah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接