1

Я пытаюсь предотвратить случайное удаление пользователями определенной папки в родительской папке, но при этом предоставляю им разрешение на изменение всех других файлов и папок в родительской папке. Но они также должны иметь возможность изменять файлы и папки в этой определенной папке.

В этом комментарии к аналогичной проблеме моя проблема описана очень хорошо, но не было никакого ответа на этот комментарий. https://superuser.com/a/977180/554054 Это моя структура:

Folder A
|-Folder B
|-Folder C
| |+Folder E
| | |+ a.doc
| |+Folder F
| | |+ b.doc
| |+c.doc
|-D
  • Папка A - чтение / выполнение
  • Папка B / D - чтение / выполнение (унаследовано от A) + чтение / запись / удаление для файлов / подпапок
  • Папка C - чтение / выполнение (унаследовано от A) + чтение / запись / удаление для файлов / подпапок, за исключением папки E! Эту папку нельзя разрешать удалять, но в этой папке пользователь должен иметь возможность читать / записывать / удалять подпапки и файлы.

Я пробовал много разных способов комбинаций разрешений, но ничего не получалось. Кто-нибудь знает, как решить эту проблему?

Вот два снимка экрана моих расширенных настроек для папки E:папка расширенных настроек E унаследовала специальные разрешения для пользователя "Bearbeiter"

2 ответа2

2

Я пытаюсь предотвратить случайное удаление пользователями определенной папки в родительской папке, но при этом предоставляю им разрешение на изменение всех других файлов и папок в родительской папке. Но они также должны иметь возможность изменять файлы и папки в этой определенной папке

Предотвращение удаления папки или случайного перетаскивания с помощью безопасности NTFS

Если вы хотите предотвратить удаление или перетаскивание определенной папки в другое место, даже если она имеет повышенные неявные разрешения, вы можете установить явное DENY для FOLDER ONLY для учетной записи пользователя или группы безопасности, для которой вы хотите запретить это действие. выполняется

Вы можете выполнить эту блокировку безопасности папки, используя ICACLS с локальным путем (например, C:\Path\FolderA\FolderE) или путем UNC (например, \\server\share\FolderA\FolderE).


Пример синтаксиса ICACLS для запуска из командной строки с повышенными правами

ICACLS "\\server\share\FolderA\FolderE" /deny "<UserOrGroupNameToDeny>":(DE)

Используемые разрешения

/deny user:permission
   Explicitly deny the specified user access rights.
   This will also remove any explicit grant of the 
   same permissions to the same user.

perm is a permission mask and can be specified in one of two forms:
   a comma-separated list in parentheses of specific rights:
         DE - delete

Что это делает

Выполнение вышеуказанного с этими параметрами в этом синтаксисе установит явное DENY для разрешения NTFS DELETE FOLDER ONLY для этой ПАПКИ для этой конкретной учетной записи пользователя группы безопасности.

Вы можете подтвердить отклонение прав доступа к папке для учетной записи пользователя или группы безопасности:

  • right-click папку, которую вы использовали в команде,
  • Выберите вкладку Безопасность ,
  • В области Group or user name: выделите или выберите и выделите учетную запись или группу, которые вы использовали в команде,
  • В области Permissions for Administrators вы увидите атрибуты разрешений NTFS для Allow и Deny
  • Вы увидите галочку в столбце DENY строки special permissions для учетной записи или группы, которую вы использовали в команде

  • Выберите Advanced и перейдите на вкладку Permissions.
  • Проверьте значение Name (или Principal), которое вы использовали в команде, для DENY в поле Type
  • В поле « Permissions (или « Access) должно отображаться « Delete а в поле « Apply to (или Applies to)» будет показана this folder only


ЗАМЕТКИ

Обратите внимание, что снятие отметки с атрибута ALLOW DELETE - это не то же самое, что оставить его на месте как есть, а затем создать отдельное правило ACFS NTFS для этой же группы безопасности или учетной записи пользователя, говорящее явно ОТКЛОНИТЬ УДАЛИТЬ безопасность.

Это решение НЕ запрещает УДАЛИТЬ таким образом

(НЕПРАВИЛЬНО)

Это решение явно НЕ УДАЛЯЕТ УДАЛИТЬ на этом уровне ТОЛЬКО ДЛЯ ЭТОЙ ПАПКИ

(ПРАВИЛЬНЫЙ)

(ПРАВИЛЬНЫЙ)


Дальнейшее чтение и ресурсы

0

Это невозможно. Вы можете создать папку, которую нельзя будет удалить, удалив изменяющие права, но это приведет к тому, что все файлы в этой папке автоматически получат одно и то же право, и люди не смогут работать с новыми файлами в этой папке.

Вы можете создавать подпапки и отключать наследование прав, чтобы люди могли работать в этих папках, но вы должны переместить оставшиеся папки в подпапку или отказаться от этого.

Вы также можете дать файлам права, отличные от их родительской папки, но это позволит пользователям редактировать только существующие файлы, включая их удаление. Но когда они хотят скопировать или создать новый файл в этой папке, они не могут.

Также обратите внимание, что файловая система, которую вы предлагаете, является плохой практикой. Вы захотите установить разрешение на максимально высоком уровне, установив наследование для всех подфайлов. Причина в том, что вы можете передать права на все дочерние папки. Если это сделано из более высокой папки, все права будут удалены.

Но достаточно сказать, что невозможно сделать так, чтобы папка не могла быть удалена / перемещена, в то время как ее содержимое может. Если удаление вызывает у вас большое беспокойство, включите теневое копирование тома и, при необходимости, резервную копию. Если папка перемещена, она также будет перемещена в VSS. Если удалено, вы можете просто восстановить из VSS (восстановить предыдущие версии). Если перемещение вызывает беспокойство, и вы не можете найти, куда оно было перемещено, сделать ежедневное резервное копирование и, конечно, вы всегда можете попросить людей просто не удалять / перемещать эти папки.

Такое действие обычно происходит потому, что люди просто не знают, что им не нужно их перемещать, и удаление по ошибке может быть отменено с помощью VSS.

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