![]() |
Сетевые диски и 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.: Очень прошу подскажите ответ. |
все-равно несекурно.
С тем же успехом я б на месте пользователей мог запустить Far Manager, установить в настройках Network Browser - плагина "показывать скрытые шары" и видеть все что с $ |
Тут можно обойтись без скрипта, просто грамотно настроив разрешения.
Стандартная модель планирования безопасности : Предположим, что у нас есть бухгалтерия и общий ресурс 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 |
Nikitos, Спасибо за разъяснения. Теперь все, кажется, понятно. На счет групп - одна глобальная другая локальная. Может быть в этом проблема. Я делал обе группы глобальными.
Спасибо Nikitos. Все прекрасно работает! PS: Тема закрыта. |
Время: 18:11. |
Время: 18:11.
© OSzone.net 2001-