是否可以在 Windows (Server 2003 64bit) 中的文件夹上设置权限,以便帐户可以写入和修改,但不能执行?
如果我设置修改权限,Windows 似乎坚持我也设置执行权限。
这对我来说似乎是一个常见的场景,因为我遇到的许多日志记录例程都需要能够重命名或移动(有效删除)一个日志文件来归档它。(例如,许多程序创建 foo.log,并在 24 小时后将其重命名为 foo-[dateamp].log,并为接下来的一天创建一个新的 foo.log)。
我知道这不是一个大问题,但如果网站帐户从来没有同时在同一个文件夹上拥有写入和执行权限,我会很高兴。
Read & Execute 是 Modify 的子集,因此当允许 Modify 时,根据定义,Read & Execute 也是允许的。有关详细信息,请参阅Technet 上的此表。
您可以使用“高级安全设置”窗口(单击“安全”选项卡上的“高级”)单独设置特殊权限(并排除执行文件)。
如果没有对该用户的“执行”权限,您不能将“修改”设置为用户的文件夹......并且,正如此处的另一个答案所建议的那样,甚至不可能拒绝执行保留修改,因此解决方案可能是这样:
默认情况下禁止执行的组策略然后白名单可能是选择:
计算机配置 > 策略 > Windows 设置 > 安全设置 > 软件限制策略
将安全级别设置为不允许,在“附加规则”中允许您希望用户可以执行的路径,您就完成了 90%。
您只需在 Program Files 之外添加您可能需要的任何应用程序路径(网络位置等)。
我也不允许 regedit.exe 和 runas.exe。
如果您只想列入黑名单,您可以将默认级别设置为无限制,然后禁止特定文件夹......不过,这不会很有效。
此外,请确保将 *.lnk 列入白名单,否则用户会发现开始菜单快捷方式不起作用。