mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-19 14:14:11 +00:00
45 lines
3.8 KiB
Plaintext
45 lines
3.8 KiB
Plaintext
Скрипт для поддерживания и назначения прав на папки. Например, у нас есть такая структура папок:
|
||
|
||
D:\Клиенты\
|
||
D:\Клиенты\Ромашка
|
||
D:\Клиенты\Справка
|
||
|
||
И стоит следующая задача:
|
||
|
||
“D:\Клиенты” удалить стандартные права для пользователей домена
|
||
“D:\Клиенты\Ромашка” дать полные права группе flora
|
||
“D:\Клиенты\Ромашка” дать права на чтение пользователю secretary
|
||
“D:\Клиенты\Справка” дать полные права для пользователя secretary
|
||
“D:\Клиенты\Справка” дать права на чтения для группы flora
|
||
|
||
для этого создаем файлик acl.csv в кодировке UTF-8 следующего содержания:
|
||
[text]
|
||
Folder;SecIdentity;AccessRights;AccessControlType;BlockInherit
|
||
D:\Клиенты;BUILTIN\Users;Remove;;Yes
|
||
D:\Клиенты\Ромашка;Domain Name\flora;FullControl;Allow;
|
||
D:\Клиенты\Ромашка;Domain Name\flora;ReadAndExecute;Allow;
|
||
D:\Клиенты\Справка;Domain Name\secretary;FullControl;Allow;
|
||
D:\Клиенты\Справка;Domain Name\secretary;ReadAndExecute;Allow;
|
||
[/text]
|
||
|
||
и запускаем с админским правами скрипт
|
||
[powershell]
|
||
ntl-Set-Acl.ps1 -FolderListFile .\acl.csv
|
||
[/powershell]
|
||
|
||
Сначала опишу формат файла.
|
||
|
||
Folder – в этом поле просто имя файла/папки
|
||
SecIdentity – доменный/локальный аккаунт группы или пользователя
|
||
AccessRights – может принимать по одному или через запятую следующие значения FullControl, Read, ReadAndExecute и т.д. Полный список по одной из ссылок в конце статьи. Кроме того в этом поле можно указать значение Remove и тогда это даст команду удалить из ACL папки или файла аккаунт, указанный в поле SecIdentity
|
||
AccessControlType – значения Allow или Deny. Игнорируется, если поле AccessRights имеет значение Remove.
|
||
BlockInherit – Если стоит значение Yes, то перед тем, как добавить/удалить права, для папки Folder отключается применение прав от родителя с сохранением текущих настроек. В основном это нужно, когда удаляешь права. Например, для того что убрать дефолтные разрешения для доменных пользователей. Для добавления прав, обычно не нужно блокировать наследование.
|
||
|
||
Правила заполнения файла:
|
||
|
||
Папки верхнего уровня надо указывать раньше
|
||
Для стандартных групп(Administrators,Users) и пользователей(Administrator) надо указывать BUILTIN\Users, а не Domain Name\Users
|
||
|
||
Как работает скрипт.
|
||
|
||
Если просто, то ACL(Access Control List) – это все права на папку, а ACE(Access Control Entry) – это одна запись, например, пользователь Вася имеет полные права на эту папку. Таким образом, в ACL входит кучка ACE. Кроме этого в ACL хранятся настройки наследования, владелец, группа и т.д. |