是否在Windows中强制执行文件级删除权限?

时间:2013-10-18 11:06:51

标签: windows permissions acl

最近有人针对我一直在努力的过滤器驱动程序提出了一个错误。他们说,我让有限的用户可以删除Windows文件,即使他们删除了文件的权限,以便用户能够这样做。

我一直在看它并且它与我的驱动程序无关,即使是全新安装的Windows也允许这样做。如果你:

  1. 以“非限制用户”身份登录,称为“非限制用户”。
  2. 创建文本文件
  3. 编辑文件的安全性
  4. 删除继承的权限,并删除“limiteduser”对该文件的任何权利。
  5. 完成此操作后,您会发现:

    1. 您无法更改文件的内容。
    2. 您无法重命名/移动文件或将其发送到回收站
    3. 但是你可以:

      1. 使用shift-delete
      2. 删除资源管理器中的文件
      3. 使用cmd.exe(del myfile.txt)
      4. 删除文件

        这是为什么?删除文件总是父文件夹的属性吗?如果是这样,为什么不重命名文件?

1 个答案:

答案 0 :(得分:3)

我知道这个答案根本不完整,但我希望它会有所帮助。

您没有提到您使用的是哪个版本的Windows,但由于使用任何版本的NTFS文件系统的版本应该表现相同,我认为这无关紧要。

Windows 2008 Server中有关“文件和文件夹权限”的文档说明:

  

对文件夹授予完全控制权限的组或用户可以删除该文件夹中的所有文件,无论保护文件的权限如何。

所以看起来你问题的部分答案是:

  

这是为什么?删除文件总是父文件夹的属性吗?如果是这样,为什么不重命名文件?

将删除确实是父文件夹的属性 - 它在我看来,Delete Subfolders and Files特殊权限允许您覆盖文件的权限。

为什么文件夹上的“完全控制”权限不会给予重命名权限我不清楚,但我的猜测是它实际上只有Delete Subfolders and Files有权覆盖;要重命名文件,你必须具有写入权限。

我猜测资源管理器中的“Shift-Del”和cmd中的“del”工作而不是“Recycle”的原因是回收是移动/更改操作。

请参阅此Technet文章以供参考:How Permissions Work