NTFS-разрешения, добавленные из командной строки, создают защищенную корневую папку

643
mike

У меня есть 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 (или что-то еще) с другими группами?

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

0
Использование DENY - плохая практика и не нужно. Назначьте группе RO разрешение на чтение для «этой папки, подпапки и файлов». Назначьте разрешение группы RW для «Изменить» «подпапки и файлы» и «Чтение» «Только эта папка». И да, это может быть сделано с помощью icacls, вероятно cacls и powershell среди других. Если вы не предоставите несколько примеров того, что вы попробовали, я не смогу определить, что вы провели достаточное количество исследований, чтобы попытаться ответить на свой вопрос. Appleoddity 6 лет назад 0
@Appleoddity Не могли бы вы предоставить точные команды icacls для достижения этой цели? Как вы видите ниже, есть то, что я справился с icacls. Я пробовал Вашу версию с модификацией для подпапок и файлов + читать только эту папку, и пользователи не могут создавать новые папки в главной папке. mike 6 лет назад 0
Может это поможет? http://www.josephspurrier.com/add-or-remove-ntfs-permissions-via-command-line/ Strepsils 6 лет назад 0

1 ответ на вопрос

0
mike

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

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

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) 

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

Похожие вопросы