2013-06-21 3 views
1

Недавно я попытался создать общий ресурс с помощью WMI и предоставить права на чтение и запись для пользователя. Теперь использование 0x1 (FILE_READ_DATA/FILE_LIST_DIRECTORY) и 0x2 (FILE_WRITE_DATA/FILE_ADD_FILE) не сработало. Установка всех флагов дала мне полный контроль.Доступ к файлам Windows: какие флаги ACE AccessMask соответствуют различным разрешениям на доступ к ресурсам?

Какие флаги я должен использовать для установки прав доступа на чтение, изменение и полный контроль соответственно?

ответ

5

я узнал следующее путем проб и ошибок:

Для разрешения чтения вам необходимо использовать 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)