最近我尝试使用 WMI 创建一个共享并授予用户读写权限。现在使用 0x1 (FILE_READ_DATA/FILE_LIST_DIRECTORY) 和 0x2 (FILE_WRITE_DATA/FILE_ADD_FILE) 不起作用。设置所有标志给了我完全控制权。
我必须使用哪些标志来分别设置读取、更改和完全控制共享权限?
最近我尝试使用 WMI 创建一个共享并授予用户读写权限。现在使用 0x1 (FILE_READ_DATA/FILE_LIST_DIRECTORY) 和 0x2 (FILE_WRITE_DATA/FILE_ADD_FILE) 不起作用。设置所有标志给了我完全控制权。
我必须使用哪些标志来分别设置读取、更改和完全控制共享权限?
我通过反复试验发现了以下内容:
对于读取权限,您需要使用 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)