Лучший отвечающий
Управление доступом к папкам различного уровня вложенности

Вопрос
-
Имеется Windows Server 2008, который обслуживает офис на 50 человек. На сервере размещена информация с которой все активно работают. У фирмы проектная деятельность в строительной отрасли. Вся документация структурирована по определенным признакам.
Необходимо организовать доступ сотрудников по уровням (т.е. первый уровень папок могут создавать и редактировать только руководители, вторую - специалисты, третью - техники). При этом просмотр папок всех уровней доступен всем пользователям.
Но основная потребность заключается в том, что бы при создании папок определенного уровня - права "раздавались автоматически" и не требовали ручной корректировки. Т.к. папок создается много и часто.
Если это невозможно выполнить на 2008 сервере, может быть это реализовано в 2012 сервере или с помощью сторонних программ.
Спасибо!
16 апреля 2014 г. 8:22
Ответы
-
Ярослав, очень интересная задачка! Смоделировал у себя и все получилось.
Итак, есть Store. Внутри есть Project-ы, внутри них - Object-ы. Пользователи - Manager, Specialist, Worker.
1. На Store даем полные права всем, в режиме "Для этой папки, её подпапок и файлов"
2. Добавляем запрет для Specialist на Store на создание/удаление подпапок в режиме "Только для этой папки"
3. Добавляем запрет для Worker на Store на создание/удаление подпапок в режиме "Только для этой папки"
4. Добавляем запрет для Worker на Store на создание/удаление подпапок в режиме "Только для подпапок" и ставим галочку "Применять эти разрешения к объектам и контейнерам только внутри этого контейнера".
В итоге - Manager создает любые папки. Specialist может создавать только папки внутри Project. Worker может создавать подпапки только внутри Objects.
Это именно тот сценарий, который Вы описали. В реальной жизни пользователей нужно, конечно, объединить в группы и аккуратнее проработать права на файлы, но в целом все вполне решается стандартными средствами. Если не получится сразу настроить - пишите, рассмотрим подробнее. Как я уже сказал - у меня все заработало на полном автомате.
http://technet.microsoft.com/ru-ru/library/cc776140(v=ws.10).aspx
- Предложено в качестве ответа Vector BCOModerator 16 апреля 2014 г. 13:02
- Помечено в качестве ответа Iaroslav Gribanov 18 апреля 2014 г. 4:10
16 апреля 2014 г. 9:57
Все ответы
-
Ярослав, очень интересная задачка! Смоделировал у себя и все получилось.
Итак, есть Store. Внутри есть Project-ы, внутри них - Object-ы. Пользователи - Manager, Specialist, Worker.
1. На Store даем полные права всем, в режиме "Для этой папки, её подпапок и файлов"
2. Добавляем запрет для Specialist на Store на создание/удаление подпапок в режиме "Только для этой папки"
3. Добавляем запрет для Worker на Store на создание/удаление подпапок в режиме "Только для этой папки"
4. Добавляем запрет для Worker на Store на создание/удаление подпапок в режиме "Только для подпапок" и ставим галочку "Применять эти разрешения к объектам и контейнерам только внутри этого контейнера".
В итоге - Manager создает любые папки. Specialist может создавать только папки внутри Project. Worker может создавать подпапки только внутри Objects.
Это именно тот сценарий, который Вы описали. В реальной жизни пользователей нужно, конечно, объединить в группы и аккуратнее проработать права на файлы, но в целом все вполне решается стандартными средствами. Если не получится сразу настроить - пишите, рассмотрим подробнее. Как я уже сказал - у меня все заработало на полном автомате.
http://technet.microsoft.com/ru-ru/library/cc776140(v=ws.10).aspx
- Предложено в качестве ответа Vector BCOModerator 16 апреля 2014 г. 13:02
- Помечено в качестве ответа Iaroslav Gribanov 18 апреля 2014 г. 4:10
16 апреля 2014 г. 9:57 -
Технология которая вам поможет называется ACL (Access Control List), неотъемлемая часть файловой системы NTFS. Однако полностью автоматизировать у Вас подобный процесс не получится. Хотя конечно можно написать powershell скрипт который будет запускаться на сервере через некоторый промежуток времени и исправлять права папок на нужные в соответствии с правилами, но это уже костыли.16 апреля 2014 г. 10:01
-
Небольшая оптимизация :)
Вместо пунктов 3-4 достаточно выполнить только одно назначение прав:
3-4. Добавляем запрет для Worker на Store на создание/удаление подпапок в режиме "Для этой папки, её подпапок" и ставим галочку "Применять эти разрешения к объектам и контейнерам только внутри этого контейнера"
16 апреля 2014 г. 10:09 -
Спасибо! Не подскажете, что за правила? Может быть уже есть подобные решения?16 апреля 2014 г. 10:37
-
Вы какие правила имеете в виду? Вы попробовали назначить права так, как я описал?
16 апреля 2014 г. 10:39 -
Спасибо, Павел! Ваша схема была бы идеальным вариантом, если бы не частое создание папок. Т.е. папка "Object" создается каждые три дня. И если я правильно понял, то папкам "Object1", "Object2", "Object3" и т.д. придется назначать права так же каждые три дня вручную.
Наверняка система распознает уровень вложенности папок. Почему же не придумали автоматического задания прав на уровни, а не на папки(
16 апреля 2014 г. 10:41 -
Нет, Ярослав, вы меня неправильно поняли.
Права нужно назначить только 1 раз на папку Store. Для остальных папок (Project/Object) данные права будут действовать и на вновь созданные папки. Т.е. после создания папки Project10 - Specialist сможет в ней создавать подпапки, а Worker - нет. Specialist создал в Project17 подпапку Object81 - и Worker-ы получат права на создание подпапок внутри Object81 без какого-либо ручного назначения прав.
Я именно это и проверял и сконструировал схему распределения прав.
16 апреля 2014 г. 10:46 -
Вы какие правила имеете в виду? Вы попробовали назначить права так, как я описал?
- Изменено Iaroslav Gribanov 16 апреля 2014 г. 10:47
16 апреля 2014 г. 10:47 -
Спасибо, Павел! Все получилось! А для более глубокой структуры этот способ ведь уже не подойдет? Тогда видимо только PowerShell?
- Изменено Iaroslav Gribanov 21 апреля 2014 г. 7:54 уточнение вопроса
16 апреля 2014 г. 10:53