fldrrghts-01Несколько недель назад мне в чате социальной сети Facebook задали довольно интересный вопрос по реализации нестандартных прав на папки, расположенные на сетевом ресурсе. Была поставлена следующая задача: есть файловый сервер с установленной службой распределённой файловой системы. На этом сервере создано пространство имён «FS» и внутри этого пространства имён предоставлен доступ к одной папке, скажем, папке с названием «Full Access», к которой у всех пользователей есть права на чтение и изменение. Внутри этой папки есть вторая вложенная папка, скажем, «Restricted Data», в которую пользователи из глобальной группы «Аудиторы» могут сохранять свои документы, но просматривать и редактировать все сохранённые в эту папку файлы должны только те пользователи, которые входят в группу «Управление», а также пользователи с административными правами.

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

Сразу хотелось бы уточнить, что ситуация воспроизводилась на файловом сервере, работающем под операционной системой Windows Server 2008 R2, а на клиентской машине, которая является членом домена, установлена операционная система Windows 7.

Решение №1

Для того чтобы пользователи могли сразу получить доступ к целевой папке «Restricted Data», расположенной внутри папки «Full Access» я предлагаю в существующем пространстве имён создать новую папку. Для этого выполните следующие действия:

  1. Откройте оснастку «Управление DFS»;
  2. В дереве оснастки разверните узел «Пространства имён», разверните созданное вами пространство имён, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Создать папку», как показано ниже:
    fldrrghts-02

    Рис. 1. Создание новой папки в существующем пространстве имён

  3. В отобразившемся диалоговом окне «Создание папки» нажмите на кнопку «Добавить». Затем в соответствующем текстовом поле диалогового окна «Добавление конечного объекта папки» укажите путь к добавляемой к пространству имён папке. Если вы не помните путь к папке, нажмите на кнопку «Обзор» и в очередном диалоговом окне выберите конечный объект новой общей папки. В диалоговом окне «Создание папки» укажите имя папки в текстовом поле «Имя». Например, в моем случае, это будет папка «Restricted Data», как можно увидеть на следующей иллюстрации:
    fldrrghts-03

    Рис. 2. Добавление общей папки к пространству имён

  4. Теперь для добавления ограничений к созданной общей папке, перейдите к оснастке «Управление общими ресурсами и хранилищами». В области сведений оснастки найдите созданную общую папку «Restricted Data» и выберите команду «Свойства» из контекстного меню общей папки;
  5. В диалоговом окне свойств общей папки перейдите на вкладку «Разрешения», а затем нажмите на кнопку «Разрешения NTFS»;
  6. В диалоговом окне «Разрешения для группы «Restricted Data»» добавьте две группы: «Аудиторы» и «Управление». Предоставьте для группы «Управление» полный доступ. Теперь для того чтобы предоставить необходимые разрешения группе аудиторов, перейдите к дополнительным параметрам безопасности;
  7. Для того чтобы к этой папке могли получить доступ только пользователи, входящие в состав групп аудиторов и управления, а также администраторы, нужно снять флажок с опции «Добавить разрешения, наследуемые от родительских объектов» и в отобразившемся предупреждающем диалоговом окне нажмите на кнопку «Добавить». Выделите группы пользователей и удалите их. Выберите группу «Аудиторы» и для изменения разрешений доступа к папке нажмите на кнопку «Изменить»;
  8. В открывшемся диалоговом окне элементов разрешения для выбранной группы в столбце «Разрешить» установите флажки на элементах «Создание файлов и запись данных», а также «Создание папок и дозапись данных» для того, чтобы ваши аудиторы могли сохранять файлы в текущую папку. А для того чтобы запретить пользователям возможность открытия данной папки, в столбце «Запретить» установите флажок напротив элемента «Содержание папки и чтение данных», как показано на следующей иллюстрации:
    fldrrghts-04

    Рис. 3. Изменение разрешений на папку для пользователей группы «Аудиторы»

  9. Теперь для сохранения выполненных изменений нажмите во всех четырёх диалоговых окнах на кнопку «ОК».

Проверим выполненные изменения. Для этого я выполню вход под заранее созданной пользовательской учётной записью Марианны Францевой, которая является членом только одной группы «Аудиторы» и работает на компьютере, под управлением операционной системы Windows 7. В пользовательской библиотеке «Документы» создается файл под названием «Top Secret» с произвольным текстом (текст нужен для того, чтобы проверить, скопировался ли полностью документ в общую папку под учетной записью пользователя из группы «Управление»). Так как в разрешениях папки явным образом было прописано запрещение чтения содержимого папки и данных, сохранять файлы обычным путём в эту папку у пользователей, к сожалению, не получится. Другими словами, нужно скопировать файл из библиотеки «Документы», затем перейти к пространству имён и скопировать документ в целевую папку, выбелив ее и указав из контекстного меню команду «Вставить», как показано на следующей иллюстрации:

fldrrghts-05

Рис. 4. Копирование документа в целевую папку

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

Решение №2

Согласно данному решению, пользователям группы «Аудиторы» будет задано разрешение, согласно которому они смогут просматривать содержимое папки «Restricted Data», однако им нельзя будет открывать вложенные папки или документы. В этом случае, вам нужно выполнить первые 7 шагов предыдущего решения, а затем выполнить следующие действия:

  1. В диалоговом окне элементов разрешения для группы «Аудиторы», в столбце «Разрешить» установите флажки на элементах «Создание файлов и запись данных», «Содержание папки и чтение данных» а также «Создание папок и дозапись данных» для того, чтобы ваши аудиторы могли сохранять файлы в текущую папку и заходить в неё. А для того чтобы запретить пользователям возможность открывать сохранённые в данную папку документы и вложенные папки, в столбце «Запретить» установите флажок напротив элементов «Обзор папок и выполнение файлов», «Атрибуты чтения», а также «Чтение дополнительных атрибутов» как показано ниже:
    fldrrghts-06

    Рис. 5. Изменение разрешений на папку для пользователей группы «Аудиторы»

  2. Как и в предыдущем решении, для сохранения выполненных изменений нажмите во всех четырёх диалоговых окнах на кнопку «ОК».

Опять проверим на практике, что получилось. На компьютер под операционной системой Windows 7 снова выполняется вход под учётной записью Марианны Францевой – членом группы «Аудиторы». Теперь следует перейти к пространству имён, а затем попробовать открыть папку «Restricted Data». В итоге у данного пользователя получится открыть текущую папку, но при попытке открытия документа пользователь увидит следующую ошибку:

fldrrghts-07

Рис. 6. Ошибка при открытии файла

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

Заключение

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

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

Реклама