2

最近我尝试使用 WMI 创建一个共享并授予用户读写权限。现在使用 0x1 (FILE_READ_DATA/FILE_LIST_DIRECTORY) 和 0x2 (FILE_WRITE_DATA/FILE_ADD_FILE) 不起作用。设置所有标志给了我完全控制权。

我必须使用哪些标志来分别设置读取、更改和完全控制共享权限?

4

1 回答 1

6

我通过反复试验发现了以下内容:

对于读取权限,您需要使用 0x1200A9。这对应于以下标志:

FILE_READ_DATA (file) or FILE_LIST_DIRECTORY (directory)
1 (0x1)

FILE_READ_EA
8 (0x8)

FILE_EXECUTE (file) or FILE_TRAVERSE (directory)
32 (0x20)

FILE_READ_ATTRIBUTES
128 (0x80)

READ_CONTROL
131072 (0x20000)

SYNCHRONIZE
1048576 (0x100000)

对于更改权限,您需要使用 0x1301BF。这对应于以下附加标志:

FILE_WRITE_DATA (file) or FILE_ADD_FILE (directory)
2 (0x2)

FILE_APPEND_DATA (file) or FILE_ADD_SUBDIRECTORY (directory)
4 (0x4)

FILE_WRITE_EA
16 (0x10)

FILE_WRITE_ATTRIBUTES
256 (0x100)

DELETE
65536 (0x10000)

对于完全控制权限,您需要使用 0x1F01FF。这对应于以下附加标志:

FILE_DELETE_CHILD
64 (0x40)

WRITE_DAC
262144 (0x40000)

WRITE_OWNER
524288 (0x80000)
于 2013-06-21T13:43:16.407 回答