Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2008/2008 R2 (http://forum.oszone.net/forumdisplay.php?f=97)
-   -   [решено] Сетевые диски и vbs (http://forum.oszone.net/showthread.php?t=215687)

Sun J. Wizard 15-09-2011 15:26 1753571

Сетевые диски и vbs
 
Доброго времени суток!

Возник вопрос относительно vbs. (заранее прошу прощения эта тема наверное сто тысяч раз уже обсуждалась, но из-за недостатка времени и знаний обращаюсь к Вам так напрямую)

Есть задача. В корпоративной сети пользователям из AD подключать персональные диски. Физически они размещены на шаре сервера, в одной папке (пусть будет "Corp") в которой собраны отделы сотрудников ("Бух-и", "Экон." и т.д.) Соответственно в каждом из этих отделов есть уже персональные папки пользователей в которые сотрудники складывают свои файлы.

Важное требование. Это то что сотрудники не должны попадать в чужие папки и в принципе в "Corp" в целом.

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

Шару скрыл (поставив $ на конце имени шары) что бы при прямом обращении через cmd на \\server\ папка Corp не светилась. Но это недостаточно, поскольку в имени сетевого диска светит соответственно \\server\corp$\ekonom\ и можно в cmd вызвать \\server\corp$. Что не допустимо.

Добрые люди подсказали что можно написать vbs скрипт который просто будет подключать диск с заданным именем без засвета сетевого пути.

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

Вот.
P.S.:Простите за нубство и путаность вопроса. В администрировании я новичок, как в прочем и в скрипте vbs. Когда то давно програмил на Visual Studio, но не сильно и то в универе.
P.P.S.: Очень прошу подскажите ответ.

RostVY 15-09-2011 17:37 1753672

все-равно несекурно.
С тем же успехом я б на месте пользователей мог запустить Far Manager, установить в настройках Network Browser - плагина "показывать скрытые шары" и видеть все что с $

Nikitos 15-09-2011 23:16 1753898

Тут можно обойтись без скрипта, просто грамотно настроив разрешения.
Стандартная модель планирования безопасности :
Предположим, что у нас есть бухгалтерия и общий ресурс accountingShare. В данном случае создаются 2 группы одна глобальная в домене, в неё мы включаем всех сотрудников бухгалтерии, назовем её Accounting, и группа локальная в домене, которая характеризует доступ к шаре, например sAccountingRW - даем этой группе примишны на шару на чтение и запись, затем вносим группу Accounting в группу sAccountingRW (юзерам надо перелогиниться чтобы изменения применились). Таким образом у бухгалтерии есть доступ к шаре accountingShare на чтение и запись, в sAccountingRW нужно так же добавить остальные объекты, которые имеют права на чтения и запись, затем, если необходимо, создать группу локальную в домене с названием,например, sAccountingR и дать ей право только на чтение, внести в неё объекты, которые могут только читать шару, и так поступить для всех уровней доступа. (это просто для сведения как правильно назначать разрешения на ресурсы).

Теперь предположим что у нас есть шара AccountingUserData, внутри которой есть папки для каждого пользователя.
Один из возможных сценариев: даем сотрудникам бухгалтерии доступ на чтение AccountingUserData, но на вкладке безопасность жмем дополнительно щелкаем двойным щелчком по строке с этими разрешениями, в открывшимся окне ставим галочку "применять эти разрешения к объектам и контейнерам только внутри этого контейнера", таким образом все сотрудники бухгалтерии смогут видеть только названия папок в AccountingUserData,но не содержимое в них, а на все дочерние папки нужно будет раздавать разрешения каждому пользователю, ну и далее мапите диски, только теперь это не просто скрытые пути, а действительно защищенные файлы.

А вот скрипт может понадобиться для автоматизации процесса :
Можно дать разрешение создавать объекты в AccountingUserData сотрудникам бухгалтерии . Есть такой встроенный участник безопасности как создатель-владелец суть в том, что его разрешения назначаются пользователю создавшему объект на этот объект. То есть даем разрешения на папку AccountingUserData объекту создатель-владелец полный доступ.
Собсно, теперь пишем скрипт, который проверяет наличие папки с именем пользователя в папке AccountingUserData, если таковой нет, то создаёт. Он же может и мапить этот диск, или диск можно замапить на вкладке профиль, у пользователя в active directory используя пусть \\ShareServer\AccountingUserData\%UserName%.

P.S. для автоматизации работы с объектами Active Directory можно использовать утилиты командной строки dsquery , dsmod , dsmove, dsget.

example > dsquery user | dsget user -samid

Sun J. Wizard 16-09-2011 12:44 1754219

Nikitos, Спасибо за разъяснения. Теперь все, кажется, понятно. На счет групп - одна глобальная другая локальная. Может быть в этом проблема. Я делал обе группы глобальными.

Спасибо Nikitos. Все прекрасно работает!

PS: Тема закрыта.


Время: 18:11.

Время: 18:11.
© OSzone.net 2001-