none
Управление доступом к папкам различного уровня вложенности RRS feed

  • Вопрос

  • Имеется 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
  • Вы какие правила имеете в виду? Вы попробовали назначить права так, как я описал?

    Простите, Павел, это я не Вам)) Это я iHumster'у) На ваш пост ответил ниже)
    16 апреля 2014 г. 10:47
  • Спасибо, Павел! Все получилось! А для более глубокой структуры этот способ ведь уже не подойдет? Тогда видимо только PowerShell?
    • Изменено Iaroslav Gribanov 21 апреля 2014 г. 7:54 уточнение вопроса
    16 апреля 2014 г. 10:53