Windows ACL и ACCESS_MASK - PullRequest
       9

Windows ACL и ACCESS_MASK

0 голосов
/ 04 мая 2018

В программе на C ++ я пытаюсь сделать файл доступным для записи и удаления с помощью учетной записи, отличной от той, которая создала файл. Чтобы сделать это, я обнаружил, что должен копаться в ACL.

Мой вопрос действительно о ACCESS_MASK.

У меня много проблем с отслеживанием того, что это значит:

  • «Конкретные права»
  • «Стандартные права»
  • "Generic"

Установка общих битов, кажется, отображается как изменение «Все», когда я смотрю на свойства файла. Это то, что я должен ожидать? Какие еще два?

(Кстати, этот ответ был ОЧЕНЬ полезен для того, чтобы все заработало: Как дать «Все» разрешения на запись через C ++ MFC в Windows 8? )

1 Ответ

0 голосов
/ 04 мая 2018

Конкретными правами являются те, которые связаны с конкретным типом объекта, таким как файл, поток, процесс, событие и т. Д. Стандартные права являются общими для всех объектов (по крайней мере, в тех случаях, когда это право имеет смысл), тогда как общие права - это то, что делает смысл для типа объекта. Например, для прав доступа к файлу , GENERIC_READ сопоставляется с FILE_READ_DATA | FILE_READ_EA | FILE_READ_ATTRIBUTES | STANDARD_RIGHTS_READ | SYNCHRONIZE, где STANDARD_RIGHTS_READ определяется как READ_CONTROL.

...