Компьютерный форум NoWa.cc
Правила Форума
редакция от 29.01.2013
Портал .::2Baksa.Net::. Трекер BRODIM.COM Фильмы HD Онлайн
Вернуться   Компьютерный форум NoWa.cc > Операционные системы > Microsoft Windows > Windows 200x Server

Уважаемые пользователи nowa.cc и 2baksa.net. У нас сложилось тяжелое финансовое положение. Мы работаем для вас вот уже более 12 лет
и теперь вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney Z826074280762 Webmoney R087294265364 Webmoney U051530505194 Webmoney E804621616710
PayPal E-mail для связи / to Contact E-mail для связи по вопросу помощи / to Contact : E-mail для связи / to Contact
Кошелек для вашей помощи Yandex 410013204813773
Yandex Спасибо за поддержку!

Российский интернет-шлюз: контроль трафика, DLP, антивирус, fail2ban, прокси-сервер, шифрование данных, https-фильтрация. Сертификат ФСТЭК

загрузка...
Ответ
 
Опции темы Language
Старый 13.11.2008, 02:14   #1
ViP
 
Пол:Мужской
Регистрация: 18.01.2006
Адрес: MSK RU
Сообщений: 2,837
Репутация: 1164
По умолчанию Организация папок пользователей и обмена в домене

В свете периодически обсуждаемых проблем с правами пользователей на папки выкладываю описание технологии, как это делаю я.
Политика такова.
  • На файл-сервере есть общий шаринг. Он же "файлопомойка", он же "папка для обмена", он же "common".
  • У каждого пользователя на сервере есть персональная папка, доступ к которой имеет только он. Она носит такое же имя, как и пользователь. Можно перенаправлять туда "Мои документы", почтовые базы и т.п.
  • Общий диск мы обычно подключаем логон-скриптом под буквой N каждому клиенту. Персональный диск - P.
  • Чтобы не плодить лишние шары на сервере, и common и все персональные папки лежат в одной папке - "personal folders" в корне диска на сервере. Зашарена эта самая родительская папка под именем "pf".
  • В список доступа (acl) на "personal folders" добавляем Domain Users.
  • Со всех папок пользователей снимаем наследование прав (это лучше делать, выделив их все скопом), копируем acl от родителя и удаляем оттуда Domain Users. Теперь в acl каждой папки добавляем пользователя, которому она принадлежит.

Итак, типовой логон-скрипт allusers.cmd:
Код:
@net use * /delete /yes
@net use N: \\server\PF\common
@net use P: \\server\PF\%username%
@net time \\server /set /y
@net use * /delete /yes
Сносим все шаринги пользователей, которые они могли наделать (зачем вы им вообще дали эти права?)
@net use N: \\server\PF\common
Подключаем общую папку. Механизм одинаков для всех.
@net use P: \\server\PF\%username%
А вот тут уже для каждого пользователя подключится своя папка. Замечу, что это прокатит только для англоязычных имён пользователей (не проверял!). Русские символы, imho, будут коверкаться, как обычно, командной строкой. Для их использования надо переделать этот скрипт под vbs.
@net time \\server /set /y
Синхронизируем время во всей сети с сервером.
Картина прекрасная, но какими усилиями она достигнута? В конторе 50 челов. Админу машинисткой клепать 50 папок, копируя их из списка AD? На это дело есть скриптик, который:
  • Создаёт Organizational Unit (OU) в AD. В дальнейшем вы можете создавать для него отдельную групповую политику.
  • Создаёт в этом OU пользователей, прописывает им дефолтный пароль, задаёт логон-скрипт (allusers.cmd). Сам логон-скрипт надо копировать в папку отдельно.
  • Создаёт общую папку и шарит её
  • Создаёт папки пользователей
Список пользователей берётся скриптом из текстового файла c:\users.txt, в котором эти имена написаны по одному в строке.
Далее приведён текст скрипта CreateUsers.vbs. Перед копированием прочитайте комментарии. Строки комментариев начинаются с апострофа.

Код:
Const PersonalFoldersPath = "D:\Personal folders"
Const UsersPassword = "DefPass90"

Const Enabled = 1
Const Disabled = 0
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' УСТАНОВКА ПАРАМЕТРОВ
Set objFSO = CreateObject("Scripting.FileSystemObject")
' проверяем существование файла C:\users.txt
If Not objFSO.FileExists("C:\users.txt") Then
	Wscript.Echo "Users list (c:\users.txt) does not exist."
	Return
End If

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\MicrosoftActiveDirectory")
Set colDomainInfo = objWMIService.ExecQuery("Select TreeName,DCName from Microsoft_LocalDomainInfo")
For each objDomain in colDomainInfo
	strTreeName = objDomain.TreeName
	strDCName = objDomain.DCName & "." & strTreeName
Next
strADsPath = "dc=" & Join(Split(strTreeName, "."), ",dc=")
' собираем имя DC

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ДОБАВИМ В РЕЕСТР ПОЛЕЗНЫЕ КЛЮЧИКИ
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.RegWrite("HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate" , 1, "REG_DWORD")
objShell.RegWrite("HKCR\Folder\Shell\MenuText\Command\", "cmd.exe /k cd " & chr(34) & "%1" & chr(34))
objShell.RegWrite("HKCR\Folder\Shell\MenuText\", "Command Prompt Here")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' СОЗДАЁМ ПАПКИ И ШАРИМ ИХ
objFSO.CreateFolder(PersonalFoldersPath)
objFSO.CreateFolder(PersonalFoldersPath & "\Common")

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objNewShare = objWMIService.Get("Win32_Share")
objNewShare.Create(PersonalFoldersPath, "PF", 0, 32766, "Domain users personal folders")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' СОЗДАЁМ OU
'старт или
 'создание OU
Set objDomain = GetObject("LDAP://" & strADsPath)
Set objOU = objDomain.Create("organizationalUnit", "ou=OU users")
objOU.SetInfo
'или
 'использование существующего OU
'Set objOU = GetObject("LDAP://ou=OU users," & strADsPath)
'конец или

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' СОЗДАЁМ ПОЛЬЗОВАТЕЛЕЙ В AD
Set objUsersList = objFSO.OpenTextFile("c:\users.txt", 1)

Do While objUsersList.AtEndOfStream = False
	strUserName = objScriptFile.ReadLine

	objFSO.CreateFolder(PersonalFoldersPath & "\" & strUserName)

	Set objUser = objOU.Create("User", "cn=" & strUserName)
	objUser.Put "givenName", strUserName
	objUser.Put "userPrincipalName", strUserName
	objUser.Put "sAMAccountName", strUserName
	objUser.Put "displayName", strUserName
	objUser.Put "homeDrive", "P:"
	objUser.Put "homeDirectory", "\\" & strDCName & "\pf\" & strUserName
	objUser.Put "scriptPath", "allusers.cmd"
	objUser.SetInfo

	objUser.AccountDisabled = False
	objUser.AllowLogon = Disabled
	objUser.SetPassword UsersPassword
	intUAC = objUser.Get("userAccountControl")
	objUser.Put "userAccountControl", intUAC Xor ADS_UF_DONT_EXPIRE_PASSWD
	objUser.SetInfo

Loop

objUsersList.Close
В скрипте не реализовано назначение полномочий на персональные папки пользователей. Ручками это делать геморно, поэтому рассчитываю, что в обсуждении мы найдём решение этой задачи.
PLAstic вне форума
 
Ответить с цитированием Вверх
Эти 3 пользователя(ей) сказали cпасибо за это полезное сообщение:


Реклама: внешний жесткий диск купить дешевоhttps://MyGiftCard.ru/catalog/podarok_dlya/podarochnyy_sertifikat_novikov_group/матрасы для кровати 90х200купить футбольный мяч в екатеринбурге недорогокачели садовые недорого


Старый 14.11.2008, 12:08   #2
pincer
Неактивный пользователь
 
Пол:Мужской
Регистрация: 11.11.2008
Сообщений: 8
Репутация: 4
По умолчанию Re: Организация папок пользователей и обмена в домене

А не легче создать группу в АД а не OU и работать с группой?
pincer вне форума
 
Ответить с цитированием Вверх
Старый 14.11.2008, 12:44   #3
PLAstic
ViP
 
Пол:Мужской
Регистрация: 18.01.2006
Адрес: MSK RU
Сообщений: 2,837
Репутация: 1164
По умолчанию Re: Организация папок пользователей и обмена в домене

Какую группу? Security group? У неё как у объекта нет возможности работать с отдельной политикой.
Представь, что у тебя в домене есть бухгалтерия, отдел продаж и куча боссов. У каждой группы свои политики безопасности. Как ты сделаешь их без OU?
PLAstic вне форума
 
Ответить с цитированием Вверх
Старый 14.11.2008, 23:22   #4
Hopeles
Пользователь
 
Аватар для Hopeles
 
Пол:Мужской
Регистрация: 01.11.2007
Сообщений: 199
Репутация: 92
По умолчанию Re: Организация папок пользователей и обмена в домене

если мне ни с кем не изменяет память, то в АД создать OU проще, если смотреть со стороны порядка действий
И политики действительно можно накладывать только на OU.
Так что вы, pincer, со всех сторон не правы
__________________
Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним.
Хочешь помочь мастеру - отойди и не мешай.А хочешь помочь дураку - сам дурак!
Hopeles вне форума
 
Ответить с цитированием Вверх
Старый 09.03.2009, 19:11   #5
UnclePecos
Новичок
 
Пол:Мужской
Регистрация: 01.05.2008
Сообщений: 10
Репутация: 0
По умолчанию Re: Организация папок пользователей и обмена в домене

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

if not exist "\\serv\Users$\%username%" (mkdir "\\serv\Users$\%username%")
net use z: \\serv\users$\%username%"

при первом же логоне создаётся папка со всеми нужными правами и в дальнейшем мапится как сетевой диск
UnclePecos вне форума
 
Ответить с цитированием Вверх
Старый 09.03.2009, 21:33   #6
PLAstic
ViP
 
Пол:Мужской
Регистрация: 18.01.2006
Адрес: MSK RU
Сообщений: 2,837
Репутация: 1164
По умолчанию Re: Организация папок пользователей и обмена в домене

Цитата:
Сообщение от UnclePecos Посмотреть сообщение
такие танцы с бубном в виде скриптов

Почитай внимательнее функционал скрипта. Мне кажется, он немного больше, чем приведённые тобой две строки, одна из которых присутствует в vbs-скрипте, а вторая - в логон-скрипте.
PLAstic вне форума
 
Ответить с цитированием Вверх
Старый 10.03.2009, 11:30   #7
dmitry_a
Постоялец
 
Пол:Мужской
Регистрация: 11.04.2007
Сообщений: 284
Репутация: 85
По умолчанию Re: Организация папок пользователей и обмена в домене

2PLAstic, Какие именно полномочия нужно реализовать на папки, у меня есть пара наработок на эту тему, попробую дополнить скрипт.
dmitry_a вне форума
 
Ответить с цитированием Вверх
Старый 10.03.2009, 12:09   #8
PLAstic
ViP
 
Пол:Мужской
Регистрация: 18.01.2006
Адрес: MSK RU
Сообщений: 2,837
Репутация: 1164
По умолчанию Re: Организация папок пользователей и обмена в домене

dmitry_a, Я обычно снимаю наследование Domain Users и добавляю одноимённого пользователя с полным доступом.
На сайте микрософта можно найти примеры кода, просто когда я писал этот скрипт, то не разобрался сразу.
PLAstic вне форума
 
Ответить с цитированием Вверх
Ответ
 Уважаемые пользователи портала 2BakSa.NeT и форума NoWa.cc !

  Рады Вам сообщить, что у нас открылся Torrent трекер >> BRODIM.COM

  Приглашаем вас принять участие в обмене полезной информацией,

  и ждем от вас поддержки в создании новых раздач.

Опции темы

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GPO: запретить добавление локальных пользователей на машинах в домене Heracl Windows 200x Server 6 09.02.2009 20:00
организация hotspot forform Скорая помощь 2 17.11.2008 03:11
организация vpn соединения artemz Вопросы и проблемы 7 17.05.2008 17:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:44. Часовой пояс GMT +3.


Rambler's Top100
Copyright ©2004 - 2018 2Baksa.Net

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.14352 секунды с 10 запросами