我知道有人问过这个问题,但过去三个小时里我试过的所有答案都没有用。所以我希望找到一个适用于我的机器(运行 Windows 7)的解决方案。
假设以下设置
Parent
File1
File2
SubFolder
我想设置父级的权限,以便它不能被删除/移动/重命名,但子文件夹和文件(例如“File1”;“File2”;“SubFolder”)都保留以任何方式被删除/修改的权限。
我做了什么。右键单击“父级”>“属性”>“安全选项卡”>“高级”>“更改权限”>取消选择“包括可从此对象的父级继承的权限”,然后在出现的对话框中选择“添加”>选择“管理员”>“编辑”>“应用于:仅此文件夹”>选中“拒绝删除”
然后我应用了所有内容。但是,我仍然可以删除该文件夹。
任何帮助都非常感谢。很乐意提供屏幕截图或任何需要的其他信息
更新 附件是我当前设置的屏幕截图。但是,我仍然可以单击该文件夹,然后按键盘上的删除按钮,文件夹就会被删除。我尝试了有和没有明确拒绝删除权限的情况,两次使用以下设置都可以以登录用户的身份删除该文件夹。
将所有者设置为 SYSTEM
权限条目
文件夹的用户权限
子文件夹的用户权限
系统权限
明确拒绝用户的删除权限(已尝试过和未尝试过)
答案1
根据经验,您应避免在 ACL 中使用显式 DENY 规则。如果需要,通常是因为数据结构本身就错误。
删除或重命名文件夹的能力不是由Delete
相关文件夹的权限决定的,而是由Delete subfolders and files
父文件夹的权限决定的。这是违反直觉的,与文件权限的工作方式不同。它绝对不会像您预期的那样工作。
让我们以以下文件夹/文件结构为例:
FolderA
File1
FolderB
File2
FolderC
File3
FolderB
并且File1
在父母中FolderA
。FolderC
并且File2
在父母中FolderB
等等。
现在,如果我们删除任何用户的、或Delete
权限,则该用户将无法重命名和删除该文件。如果您对文件使用显式 DENY,情况也是如此。File1
File2
File3
Delete
但是,如果您从任何用户中删除、或 的Delete
权限,该用户仍将能够重命名和删除该文件夹。如果您对文件夹使用显式 DENY,情况也是如此。FolderA
FolderB
FolderC
Delete
这是为什么呢?因为该Delete
权限是针对文件的权限,而不是文件夹的权限。相反,我们必须Delete subfolders and files
从父文件夹中删除权限才能完成您的要求。
在我们上面的例子中,我们需要Delete subfolders and files
从 FolderA 中删除权限,对于特定用户,将权限分配给this folder only
。在这种情况下,用户将无法修改FolderB
和如果您改用File1.
显式 DENY,情况也是如此。Delete subfolders and files
FolderA
用户仍然可以重命名和删除,除非FolderA
的父级FolderA
也限制了该权限。只要您将权限应用于,this folder only
则用户将继续能够读取/写入/修改File2
和。FolderC
File3
这里明显的缺点是需要 2 级文件夹才能完成您的要求。在您的例子中,您提到您正在尝试保护 Dropbox 文件夹。因此,您的文件夹结构必须如下所示:
Dropbox
Protected Folders
File1
File2
FolderA
Protected Files
您可以删除特定用户或组的文件夹Delete subfolders and files
权限。然后,您可以添加或维护特定用户或组的文件夹权限。this folder only
Dropbox
Full Control
Modify
subfolders and files
Dropbox
现在受影响的用户将无法修改该Dropbox
文件夹下方的任何文件或文件夹,但可以修改任何子文件夹中包含的所有文件和文件夹。
Dropbox 还有一个额外的问题,因为这不是普通文件夹。Dropbox 应用程序需要完全控制该Dropbox
文件夹。由于 Dropbox 通常以登录用户的身份运行,因此您无法阻止登录用户完全控制该文件夹Dropbox
。您可以尝试一下,但结果可能难以预料,并且可能会造成混乱。