12 авг. 2010 г.

samba + централизованное управление монтированием сетевых ресурсов

Некоторое упрощение и централизация операций с пользовательскими сетевыми дисками...
Настройки самбы:
security = user
[homes]
comment = Home Directories
browseable = no
path = /home/%u/net
read only = no
create mask = 0770
directory mask = 0770
valid users = %S
[netlogon]
comment = Network Logon Service
path = /home/%u/netlogon
guest ok = no
read only = yes
browseable = no
share modes = no
Скрипт подключения сетевых дисков (для каждого win-пользователя) l_script.cmd
@echo off
net use z: \\server\share1 /y
net use y: \\server\share2 /y
...
net use b: \\server\shareN /y
Настройки на рабочей станции пользователя: 
Записанный в автозагрузку скрипт обращения к удаленному скрипту (l_script.cmd на сервере) login.cmd:
@echo off
net time \\server /set /y
call \\server\netlogon\l_script.cmd
Таким образом, при логине win-пользователя в систему вызывается login.cmd, который синхронизирует время с сервером и вызывает оттуда скрипт l_script.cmd, который, в свою очередь, монтирует заданные для этого пользователя шары. Для того, чтобы при запуске системы окно консоли не вызывало испуг пользователя (с последующим звонком админу ;) ), сворачиваем его в панель задач: правый клик на ярлыке .cmd-файла в Автозагрузке - Свойства - Ярлык - пункт Окно - Свернутое в значок.
P. S.: Описанный механизм будет работать без участия пользователя лишь в случае, если учетная запись пользователя на рабочей станции полностью совпадает с учетной записью на сервере. Если по каким-то причинам это невозможно, то следует поменять скрипт login.cmd следующим образом:
@echo off
net time \\server /set /y
net use p: \\server\netlogon /USER:username password 
call p:\l_script.cmd
net use p: /delete /y