access control list (ACL) is a list of access control entries (ACE). Каждый ACE в ACL идентифицирует доверенного лица и указывает права доступа , разрешенные, запрещенные или проверенные для этого доверенного лица. Дескриптор безопасности для защищаемого объекта может содержать два типа списков управления доступом: DACL и SACL.
Список управления доступом на уровне пользователей (DACL) определяет доверенных лиц, которым разрешен или запрещен доступ к защищаемому объекту. Когда процесс пытается получить доступ к защищаемому объекту, система проверяет ACE в DACL объекта, чтобы определить, следует ли предоставить доступ к нему. Если у объекта нет DACL, система предоставляет полный доступ всем пользователям.
Если dacl объекта не имеет ACE, система отклоняет все попытки доступа к объекту, так как DACL не разрешает какие-либо права доступа. Система проверяет ACE в последовательности, пока не найдет один или несколько ACE, которые разрешают все запрошенные права доступа, или пока не будет отказано в любом из запрошенных прав доступа. Дополнительные сведения см. в разделе Управление доступом к объекту DACLs. Сведения о том, как правильно создать DACL, см. в разделе Создание DACL.
Active Directory, учетные записи. Создание домена, групповая политика [Windows Server 2012] #2
Системный список управления доступом (SACL) позволяет администраторам регистрировать попытки доступа к защищенному объекту. Каждый ACE указывает типы попыток доступа со стороны указанного доверенного лица, которые приводят к созданию системой записи в журнале событий безопасности. ACE в SACL может создавать записи аудита при сбое попытки доступа, при успешном выполнении или и в том, Дополнительные сведения о списках SACL см. в разделе Аудит создания и права доступа к saCL.
Не пытайтесь работать напрямую с содержимым ACL. Чтобы обеспечить семантическую правильность списков управления доступом, используйте соответствующие функции для создания списков управления доступом и управления ими. Дополнительные сведения см. в разделах Получение сведений из ACL и Создание или изменение ACL.
Списки управления доступом также обеспечивают управление доступом к объектам службы Microsoft Active Directory. Интерфейсы служб Active Directory (ADSI) включают подпрограммы для создания и изменения содержимого этих списков управления доступом. Дополнительные сведения см. в разделе Управление доступом к объектам в доменные службы Active Directory.
Обратная связь
Были ли сведения на этой странице полезными?
Источник: learn.microsoft.com
Список управления доступом (ACL).
Список управления доступом (ACL) – это любой механизм для реализации управления доступом в ОС, файловой системе, службе каталогов или другом программном обеспечении. Списки управления доступом (ACL) внедрены в базовую архитектуру операционных систем платформ Microsoft Windows и используются для управления доступом к объектам в Active Directory и файлам на томах NTFS.
Установка ПО на ПК пользователей домена с помощью GPO
Список управления доступом – это в основном список, прикрепленный к объекту, определяющий, какие субъекты безопасности (пользователи, группы, компьютеры и т. д.) имеют доступ к объекту и какой уровень доступа им разрешен. В Windows 7 списки управления доступом правильнее называть дискреционными списками управления доступом (DACL), поскольку они могут настраиваться и управляться администраторами по своему усмотрению.
Существует также другой тип ACL в Windows, называемый System access control list (SACL), который используется для управления генерацией сообщений аудита, когда аудит объектов был настроен в файловой системе.
Список контроля доступа к системе (SACL)
Системный список управления доступом (SACL) позволяет администраторам регистрировать попытки доступа к защищенному объекту. Каждый ACE определяет типы попыток доступа указанного доверенного лица, которые заставляют систему генерировать запись в журнале событий безопасности. ACE в SACL может генерировать записи аудита, когда попытка доступа терпит неудачу, когда она успешна, или и то, и другое. Дополнительные сведения о SACLs см. В разделе генерация аудита и право доступа к SACL.
Списки управления доступом изначально реализованы на некоторых платформах операционных систем UNIX, таких как Solaris (который впервые реализовал ACL в версии 2.5.1), а также доступны в качестве стороннего программного обеспечения для других платформ UNIX.
Традиционно управление доступом в файловых системах UNIX осуществлялось с помощью команды chmod (change mode), но это обеспечивало лишь ограниченный или грубый контроль разрешений на доступ к файлам и не обеспечивало гибкости для настройки уникальных наборов разрешений на доступ для конкретных пользователей или групп.
Для установки и отображения списков управления доступом в Solaris используйте команды setfacl и getfacl. Другие пакеты UNIX и надстройки могут использовать различные команды, такие как setacl и getacl .
Зачем использовать ACL?
Основная идея использования ACL заключается в обеспечении безопасности вашей сети. Без него любой трафик может либо входить, либо выходить, что делает его более уязвимым для нежелательного и опасного трафика.
Для повышения безопасности с помощью ACL можно, например, запретить определенные обновления маршрутизации или обеспечить управление потоком трафика.
Как показано на рисунке ниже, устройство маршрутизации имеет ACL, который запрещает доступ хосту C в финансовую сеть, и в то же время он разрешает доступ к хосту D.
С помощью ACL вы можете фильтровать пакеты для одного или группы IP-адресов или различных протоколов, таких как TCP или UDP.
Так, например, вместо блокировки только одного хоста в команде разработчиков, вы можете запретить доступ ко всей сети и разрешить только один. Или вы также можете ограничить доступ к хосту C.
Если инженеру с хоста С необходимо получить доступ к веб-серверу, расположенному в финансовой сети, можно разрешить только порт 80, а все остальное заблокировать.
Источник: mega-obzor.ru
Исправление ошибок «Этот список контроля доступа не в канонической форме» из командной строки
На нескольких наших рабочих станциях для разработчиков мы получали страшные сообщения: «Этот список контроля доступа не имеет канонической формы и поэтому не может быть изменен». ошибка, когда мы пытаемся установить права на определенные папки. Мы не смогли выяснить, что портит эти ACL.
Прямо сейчас единственный известный мне способ исправить это — щелкнуть правой кнопкой мыши поврежденную папку / файл, выбрать «Свойства» и перейти на вкладку «Безопасность». Затем Windows заметит коррупцию и предложит ее исправить. Мне не нравится это, потому что это руководство и требует от пользователя провести некоторые исследования, чтобы выяснить, какая папка / файл поврежден.
Есть ли где-нибудь скрипт или программа, которая сделает это автоматически? Я вижу, что у icacls него есть /verify параметр, но он просто показывает мне, что списки ACL для файла / папки повреждены. Он не предлагает ничего исправить.
Вы можете попробовать использовать простой сценарий PowerShell для переопределения ACL-файлов с помощью ACL другого файла: get-acl path_to_file_with_known_good_acl | set-acl -path path_to_corrupt_file
Другой ответ предполагает , что вы могли бы просто сделать get-acl path_to_corrupt_file | set-acl -path ptah_to_corrupt_file .
Я наконец смог придумать автоматическое исправление для этого. Когда вы вызываете Set-Acl командлет PowerShell , он правильно упорядочивает ACL:
$path = C:PathToItemWithBorkedACL $acl = Get-Acl $path Set-Acl $path $acl
Конечно, это может быть родитель испорченного каталога, поэтому вы должны сделать некоторые обходы, чтобы найти виновника. Используйте, icacls C:PathToItemWithSuspectCL /verify чтобы выяснить, если что-то требует ремонта.
В нашей среде Cygwin является вероятным виновником: когда он создает каталоги, ему нравится давать им разрешения в стиле POSIX вместо того, чтобы полагаться на Windows для управления безопасностью файловой системы.
Спасибо за трюк. У меня была проблема сегодня, и я написал небольшую PowerShell для автоматизации исправления: gist.github.com/vbfox/8fbec5c60b0c16289023
Для меня возникла двойная проблема: неканонический ACL + ошибочное правило, объявленное для NULL SID (WTH?). Я предполагаю, что это было вызвано версией cygwin git.
Во всяком случае, в моем случае повторное применение одного и того же ACL не имело никакого смысла:
> Set-Acl $f.FullName (Get-Acl $f.FullName) > (Get-Acl $f.FullName).AreAccessRulesCanonical False > (Get-Acl $f.FullName).GetAccessRules($True, $False, [System.Security.Principal.NTAccount]) | ? FileSystemRights : WriteExtendedAttributes, ExecuteFile, DeleteSubdirectoriesAndFiles, ReadPermissions AccessControlType : Deny IdentityReference : NULL SID IsInherited : False InheritanceFlags : None PropagationFlags : None
Источник: qastack.ru