1

例如,一方面,我可以检查

  • 如果可以通过为用户建立安全标识符来写入文件,
  • 设立受托人,
  • 获取离散的访问控制列表和
  • 然后获取访问掩码
  • 最后检查它是否包含 FILE_GENERIC_WRITE 位。

另一方面,我可以

  • 调用 GetFileAttributes 和
  • 查看返回值是否 == FILE_ATTRIBUTE_READONLY

对于后一种情况,如果设置了此属性,我想这意味着我不必为 ACL 的东西而烦恼。还是我遗漏了其他一些微妙的点?

是不是GetFileAttributes返回DOS信息而访问控制列表功能是较新的windows api?我应该同时检查两者吗?

干杯,

本。

4

1 回答 1

2

文件属性与 ACL 无关。

您可以拥有一个您可以拥有完全权限的“只读”文件,以及您根本无权访问的非只读文件。您还可以拥有具有完全访问权限的非只读文件,但由于只读媒体而无法写入。此外,对文件有(写)访问权限的任何人也可以删除只读标志。

查看是否可以写入文件的最佳方法是尝试写入(或至少打开它进行写入)。

于 2013-01-29T17:03:30.790 回答