第一个原则:有写入权限的目录,不给动态脚本的执行权限。脚本的执行权限可以通过chmod设置,但是有一个问题,如果设置这个目录下的文件没有执行权限,这个目录的php文件将不能被include和引用,所以这个会有问题。脚本执行权限可以这样处理,通过nginx服务器的location规则来限制某个目录是否具有脚本的执行权限,这样就可以实现,既可以include这个目录下的php文件,也可以禁止这个目录下的脚本文件被执行,防止注入木马和webshell攻击。如果使用apache,也有类似location的设置项。
第二个原则:有执行权限的目录,不给写入权限。这个就比较容易实现,直接通过chmod把目录设置成可以执行脚本,但不可以写入,不管什么样的用户都不能对有执行权限的目录写入任何东西,防止注入木马和webshell攻击。
还有一个原则,php-fpm/nginx 进程所使用的用户,不能是网站文件所有者。 凡是违背这个原则,则不符合最小权限原则。 我觉得,如果前2个原则满足的情况下,这个原则可以不考虑,但为了以防万一,遵守这个原则也没错。
转载请注明:易客CRM官方博客 » web服务器目录权限设置原则