在CreateFile()函数中,有像GENERIC_READ、GENERIC_WRITE、FILE_READ_ATTRIBUTES等所述的DesiredAccess。
我的问题是,仅需哪些最小/确切权限即可在系统中删除文件?
谢谢。
在CreateFile()函数中,有像GENERIC_READ、GENERIC_WRITE、FILE_READ_ATTRIBUTES等所述的DesiredAccess。
我的问题是,仅需哪些最小/确切权限即可在系统中删除文件?
谢谢。
DeleteFile
函数。该文档页面中有很好的信息,包括一个指向 文件安全性和访问权限 的链接。如果您在创建文件时请求删除权限,则可以使用该句柄删除或重命名文件,但不能使用其他句柄。
OpenFile
文档页面链接的 ACCESS_MASK
页面查看实际的删除访问权限标志 - 它被简单地称为 DELETE
。
但是需要提醒的是:这种类型的检查总是存在竞态条件。在您进行访问权限检查和随后执行删除操作之间,文件权限可能会发生变化。( 检查时间/使用时间 )。
我相信你只需要DELETE
访问权限,它不是文件访问权限,而是标准访问权限。
这些标准访问权限是被允许的,但不易找到,但MSDN页面上的文件访问权限说明如下:
文件和目录的有效访问权限包括DELETE、READ_CONTROL、WRITE_DAC、WRITE_OWNER和SYNCHRONIZE标准访问权限。