В процессе очередной заточки очередного самопального инструмента возник вопрос “а чего там с правами на файлы/папки?”. Какие права весомее, что в куда входит? Если кратко – нате вам ссылку на официальную документацию. Остальные – велком под кат.

В виде нормально читаемого дерева представить всё здесь не выйдет, поэтому будет отдельно дерево и отдельно описание прав.

  • FullControl
    • Modify
      • ReadAndExecute
        • Read
          • ReadData / ListDirectory
          • ReadExtendedAttributes
          • ReadAttributes
          • ReadPermissions
        • ExecuteFile / Traverse
      • Delete
      • Write
        • WriteData / CreateFiles
        • AppendData / CreateDirectories
        • WriteExtendedAttributes
        • WriteAttributes
    • DeleteSubdirectoriesAndFilesTraverse
    • ChangePermissions
    • TakeOwnership
    • Synchronize
ПравоВесОписание
FullControl2032127Указывает право на полный контроль над папкой или файлом, а также изменение правил контроля доступа и аудита. Это значение представляет право делать что-либо с файлом и является сочетанием всех прав в этом перечислении.
Modify197055Указывает право на чтение, запись, содержимое папки списка, удаление папок и файлов, а также запуск файлов приложений. Это право включает ReadAndExecute, Write и Delete.
ReadAndExecute131241Указывает право открывать и копировать папки или файлы как доступные только для чтения, а также запускать файлы приложений. Это право включает в себя Read и ExecuteFile.
Read131209Указывает право открывать и копировать папки или файлы как доступные только для чтения. Это право включает ReadData, ReadExtendedAttributes, ReadAttributes и ReadPermissions.
ReadData1Указывает право на открытие и копирование файла или папки. Это не включает право на чтение атрибутов файловой системы, расширенных атрибутов файловой системы или правил доступа и аудита.
ReadExtendedAttributes8Указывает право на открытие и копирование расширенных атрибутов файловой системы из папки или файла. Например, это значение указывает право на просмотр сведений о авторе и содержимом. Это не включает право на чтение данных, атрибуты файловой системы или правила доступа и аудита.
ReadAttributes128Указывает право на открытие и копирование атрибутов файловой системы из папки или файла. Например, это значение указывает право на просмотр даты создания или изменения файла. Это не включает право на чтение данных, расширенные атрибуты файловой системы или правила доступа и аудита.
ReadPermissions131072Указывает право на открытие и копирование правил доступа и аудита из папки или файла. Это не включает право на чтение данных, атрибутов файловой системы и расширенных атрибутов файловой системы.
ExecuteFile32Указывает право запуска файла приложения.
Delete65536Указывает право на удаление папки или файла.
Write278Указывает право создавать папки и файлы, а также добавлять или удалять данные из файлов. Это право включает WriteData, AppendData, WriteExtendedAttributes и WriteAttributes.
WriteData2Указывает право на открытие и запись в файл или папку. Это не включает право открывать и записывать атрибуты файловой системы, расширенные атрибуты файловой системы или правила доступа и аудита.
AppendData4Указывает право добавлять данные в конец файла.
WriteExtendedAttributes16Указывает право на открытие и запись расширенных атрибутов файловой системы в папку или файл. Это не включает возможность записи данных, атрибутов или правил аудита и доступа.
WriteAttributes256Указывает право на открытие и запись атрибутов файловой системы в папку или файл. Это не включает возможность записи данных, расширенных атрибутов или правил доступа и аудита.
ListDirectory1Указывает право на чтение содержимого каталога.
CreateFiles2Указывает право на создание файла. Для этого права требуется значение Synchronize.
CreateDirectories4Указывает право на создание папки Это право требует значения Synchronize.
Traverse32Указывает право на перечисление содержимого папки и запуск приложений, содержащихся в этой папке.
DeleteSubdirectoriesAndFiles64Указывает право удалить папку и все файлы, содержащиеся в этой папке.
ChangePermissions262144Указывает право на изменение правил безопасности и аудита, связанных с файлом или папкой.
TakeOwnership524288Указывает право изменить владельца папки или файла. Обратите внимание, что владельцы ресурса имеют полный доступ к такому ресурсу.
Synchronize1048576Указывает, может ли приложение ожидать синхронизации дескриптора файла с завершением операции ввода-вывода. Это значение устанавливается автоматически при предоставлении доступа и автоматическом исключении при запрете доступа.

Программисты, вероятно, уже заметили, что фактические права прекрасно считаются по битам 3-байтного значения.

Добавить комментарий