Войти

Показать полную графическую версию : [решено] Сетевые диски и vbs


Sun J. Wizard
15-09-2011, 15:26
Доброго времени суток!

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

Nikitos
15-09-2011, 23:16
Тут можно обойтись без скрипта, просто грамотно настроив разрешения.
Стандартная модель планирования безопасности :
Предположим, что у нас есть бухгалтерия и общий ресурс 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
Nikitos, Спасибо за разъяснения. Теперь все, кажется, понятно. На счет групп - одна глобальная другая локальная. Может быть в этом проблема. Я делал обе группы глобальными.

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

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




© OSzone.net 2001-2012