使文件复制到一个文件夹不可执行?

有没有办法让任何文件被复制到一个文件夹不可由任何用户执行?

该文件夹是可写的,但没有任何内容可以直接执行。

是的,您可以使用高级权限从文件夹中删除执行权限。

  1. 用鼠标右键单击文件夹名称,然后select“属性”。
  2. 点击“安全”标签。
  3. 点击“高级”button。
  4. 点击“更改权限…”button。
  5. 取消选中“从此对象的父项包含可inheritance的权限”
  6. 将出现一个窗口。 点击“添加”保留现有的权限。 您将在接下来的步骤中编辑它们。
  7. 添加或select您要限制执行文件的用户或组。 如果您正在select现有组,请单击“编辑…”button。
  8. 下面的窗口会出现。 取消选中“traverse folder / execute file”的allowcheckbox,我已经用红色括起来了。

    文件夹对象的Windows高级权限设置的屏幕截图。

根据Microsoft Technet对文件和文件夹权限的条目 ,“遍历文件夹/执行文件”权限执行以下操作:

对于文件夹:即使用户对遍历的文件夹没有权限,遍历文件夹允许或拒绝在文件夹中移动以访问其他文件或文件夹。 (仅适用于文件夹。)只有当组或用户未在组策略pipe理单元中被授予“ 绕过遍历检查”用户权限时,遍历文件夹才会生效。 (默认情况下,Everyone组将被授予绕过遍历检查用户权限。)

对于文件:执行文件允许或拒绝正在运行的程序文件。 (仅适用于文件)。

在文件夹上设置遍历文件夹权限不会自动为该文件夹中的所有文件设置“执行文件”权限。

这是使用拒绝权限实际上很有用的罕见情况之一。 添加拒绝权限可能比更改允许权限更方便。

你可以从命令行(在Vista或更高版本)这样做:

icacls c:\path\to\my\folder /deny Everyone:(OI)(IO)(X) 

如果您愿意的话,也可以从GUI执行。 您不需要closures“包含来自此对象父级的可inheritance权限”,但我build议您select“仅应用于文件”选项。

这可以通过仔细制定父目录的权限来完成。 具体而言,您不希望授予任何人“Execute”(授予R,而不是RX), 尤其是特殊的CREATOR OWNER用户。 这将拒绝执行一切。

chmod -x * -R使文件不可执行,而chmod +x * -R使它们可执行。