作为一个学习经验,我正在设置(并试图加强)Windows 2008R2 Web服务器。
我的网站存储在一个单独的分区,并组织如下:
/domains /somedomain.com /logs /wwwroot /anotherdomain.com /logs /wwwroot
我已经从“域”目录中删除了“用户”组的默认权限。
这是/域的权限
D:\Domains NT AUTHORITY\SYSTEM:(OI)(CI)F BUILTIN\Administrators:(OI)(CI)F CREATOR OWNER:(OI)(CI)(IO)F
每个网站都配有一个单独的应用程序池,在AppPoolIdentity下运行。
我已经为相应的应用程序池用户授予对“wwwroot”的修改权限,并为匿名用户读取权限:
D:\domains\somedomain.com\wwwroot IIS APPPOOL\somedomain.com:(OI)(CI)C NT AUTHORITY\IUSR:(OI)(CI)R NT AUTHORITY\SYSTEM:(OI)(CI)(ID)F BUILTIN\Administrators:(OI)(CI)(ID)F CREATOR OWNER:(OI)(CI)(IO)(ID)F
还有什么我缺less的目录权限?
我正在做类似的事情,但仍然有所不同:
为什么你需要修改wwwroot文件夹的权限? 阅读和执行就足够了,只有在需要的时候才允许修改(例如, temp , upload , cache文件夹 – 内容将被创build/更改,例如通过网站应用程序(PHP / ASP.NET等))。
我将“读取和执行”授予D:\domains\somedomain.com (这已经足够了)并修改为特定的文件夹: D:\domains\somedomain.com\var 。 如果我有一个应用程序/脚本,需要修改权限在网上可访问的文件夹(例如,LiveZilla实时聊天软件),那么我授予它,例如D:\domains\somedomain.com\wwwroot\livechat\banners 。
我不使用IUSR用户 – 我正在使用“应用程序池标识”:
我根本没有“CREATOR OWNER”(这是导致PHP脚本运行时出现问题 – 根本无法执行它们的东西(现在不记得了),所以我把它从整个D:\domains删除了)。 我几乎有:系统,pipe理员,APP_POOL_SPECIFIC_ID,SPECIFIC_FTP_USER。
上面的这些工作对我来说在6台服务器上是没有问题的(我是幸运的吗?)。