如何防止用户删除一个文件夹,同时仍授予他们修改其他文件和文件夹的权限?

如何防止用户删除一个文件夹,同时仍授予他们修改其他文件和文件夹的权限?

我试图防止用户意外删除父文件夹中的某个文件夹,同时仍授予他们对父文件夹中所有其他文件和文件夹的修改权限。但他们也应该能够修改此特定文件夹中的文件和文件夹。

在这个类似问题的评论中,我的问题描述得很好,但是没有对这个评论的回答。https://superuser.com/a/977180/554054 这是我的结构:

Folder A
|-Folder B
|-Folder C
| |+Folder E
| | |+ a.doc
| |+Folder F
| | |+ b.doc
| |+c.doc
|-D
  • 文件夹 A-读取/执行
  • 文件夹 B/D - 读取/执行(继承自 A)+ 读取/写入/删除文件/子文件夹
  • 文件夹 C - 读取/执行(继承自 A)+ 读取/写入/删除文件/子文件夹,文件夹 E 除外!此文件夹不应允许删除,但用户应能够读取/写入/删除文件夹中的子文件夹和文件。

我尝试了许多不同的权限组合方法,但都没有奏效。有人知道如何解决这个问题吗?

以下是我对文件夹 E 的高级设置的两张截图: 高级设置文件夹 E 继承了用户“Bearbeiter”的特殊权限

答案1

我试图防止用户意外删除父文件夹中的某个文件夹,同时仍授予他们对父文件夹中所有其他文件和文件夹的修改权限。但他们也应该能够修改此特定文件夹中的文件和文件夹

使用 NTFS 安全性防止文件夹删除或无意的拖放

如果要阻止特定文件夹被删除或者拖放在其他地方,即使它具有提升的隐式权限,您也可以设置显式DENYFOLDER ONLY对于您想要阻止执行此操作的用户帐户或安全组。

您可以使用以下方式完成此文件夹安全锁定加拿大临床神经外科学会使用本地路径(例如C:\Path\FolderA\FolderE)或 UNC 路径(例如\\server\share\FolderA\FolderE)。


从提升的命令提示符运行的 ICACLS 语法示例

ICACLS "\\server\share\FolderA\FolderE" /deny "<UserOrGroupNameToDeny>":(DE)

使用的权限

/deny user:permission
   Explicitly deny the specified user access rights.
   This will also remove any explicit grant of the 
   same permissions to the same user.

perm is a permission mask and can be specified in one of two forms:
   a comma-separated list in parentheses of specific rights:
         DE - delete

它的作用

使用该语法中的这些选项运行上述操作将设置显式DENY到 NTFSDELETE对此的许可FOLDER ONLY对那个特定的安全组用户帐号

您可以通过以下方式确认拒绝用户帐户或安全组对该文件夹的权限:

  • right-click你在命令中使用的文件夹,
  • 选择Security选项卡,
  • Group or user name:区域中滚动到或选择并突出显示您在命令中使用的帐户或组,
  • 在该Permissions for Administrators区域中,您将看到 NTFS 权限属性AllowDeny
  • 您将在命令中使用的帐户或组的行列DENY中看到一个复选标记special permissions

在此处输入图片描述

  • 选择Advanced并转到Permissions选项卡
  • 检查您在命令中使用的Name(或)值,在字段中PrincipalDENYType
  • Permissions(或)字段Access应显示Delete,并且Apply to(或Applies to)将显示this folder only

在此处输入图片描述


笔记

请注意,取消选中“允许删除”属性与保持原样不同,然后为同一个安全组或用户帐户创建单独的 NTFS ACL 规则,明确表示拒绝删除安全。

此解决方案不禁止以这种方式删除

(错误的)

在此处输入图片描述

此解决方案将明确拒绝在此级别删除仅此文件夹

(正确的)

在此处输入图片描述

(正确的)

在此处输入图片描述


进一步阅读和资源

答案2

这是不可能的。您可以通过删除修改权限来使文件夹无法被删除,但这会导致该文件夹中的所有文件自动获得相同的权限,从而使人们无法处理该文件夹中的新文件。

您可以创建子文件夹并禁用权限继承,以使得人们能够在这些文件夹中工作,但是您应该将剩余的文件夹移动到子文件夹中或者决定不这样做。

您还可以为文件赋予与其父文件夹不同的权限,但这只允许人们编辑现有文件,包括删除它们。但是当他们想在此文件夹中复制或创建新文件时,他们却不能。

另外,请注意,您建议的文件系统是不好的做法。您需要将权限设置为尽可能高的级别,将继承设置为所有子文件。原因是,您可以将权限下推到所有子文件夹。如果从更高级别的文件夹执行此操作,则所有权限都将被删除。

但可以肯定地说,不可能做到文件夹不能被删除/移动而其内容可以删除/移动。如果您非常担心删除,请启用卷影复制并可选地备份。如果移动了文件夹,它也将在 VSS 内部移动。如果删除了,您可以简单地从 VSS 中取消删除(恢复以前的版本)。如果您担心移动而又找不到它被移动到了哪里,请每天备份,当然,您可以随时尝试指示人们不要删除/移动这些文件夹。

这种操作通常是因为人们根本不知道他们不应该移动它们,而意外删除的操作可以通过 VSS 撤消。

相关内容