У меня есть 2 типа групп - только для чтения и чтения-записи - с номером в папке:

GROUP1_RO
GROUP1_RW
GROUP2_RO
GROUP2_RW
(...)

Я хотел бы создать такое дерево каталогов:

SHARE
|-MAIN_FOLDER1
| |-SUBFOLDERS
| |-FILES
|
|-MAIN_FOLDER2
| |-SUBFOLDERS
| |-FILES
|
|-MAIN_FOLDER3
(...)

Каждая группа имеет доступ к своему собственному MAIN_FOLDER *, а группа _RO может только читать файлы, но _RW может создавать папки, удалять папки и файлы.

Я хочу защитить MAIN_FOLDERS * от случайного удаления пользователями _RW.

Основная цель - создать набор команд batch/cli, которые будут подготавливать эти папки одну за другой с точными правами.

Попытка сделать это с icacls, но у меня были проблемы с несколькими правами (недопустимые параметры).

Я сделал это вручную, установив такие права:

    a) Enter Properties > Security > Advanced > Edit...
    b) Uncheck "Include inheritable permissions from this object's parent" and choose "Remove"
    c) Add group GROUP1_RO ( RO ) and set permissions:

            + Allow (( This Folder, subfolders and files ))

            * Traverse Folder / execute file
            * List folder / read data
            * Read attributes
            * Read extendet attributes
            * Read permissions

            - Deny

            * Delete

    e) Add group GROUP1_RW ( RW ) and set permissions:

            + Allow (( This Folder, subfolders and files ))

            * Full control
            - uncheck Take ownership

            - Deny

            * Delete

Но установка всего этого вручную для множества подпапок является болезненной. Есть ли способ настроить это с помощью icacls (или что-то еще) с другими группами?

Привет и спасибо, Майк

1 ответ1

0

Может быть, мне удалось сделать это двумя способами:

Я) с наследством:

mkdir MAIN_FOLDER1
icacls MAIN_FOLDER1 /inheritance:d
icacls MAIN_FOLDER1 /remove Everyone
icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX)
icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC)
icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE)

II) Без наследства:

mkdir MAIN_FOLDER1
icacls MAIN_FOLDER1 /inheritance:r
icacls MAIN_FOLDER1 /grant "DOMAIN\Domain Admins":(OI)(CI)(F)
icacls MAIN_FOLDER1 /grant "BUILTIN\Administrators":(CI)(F)
icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX)
icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC)
icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE)

И петли для этого действия.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .