Что такое домен? Зачем он нужен?

Что такое домен(Active Directory)? Самый простой ответ на этот вопрос – это база данных. В широком смысле слова база данных всего: имен пользователей, компьютеров, принтеров, общих ресурсов(проще говоря общих папок) и т.д. и т.п. Зачем это было придумано? Чтобы ответить на этот вопрос вспомним как все начиналось. J

    Вначале появились персональные компьютеры. Потом эти компьютеры стали объединяться в локальные вычислительные сети. Но даже объединённые физически эти компьютеры практически никак не взаимодействовали друг с другом. Этому препятствовали как сами параметры компьютеров так и отсутствие возможностей операционных систем того времени. Да и многочисленное стороннее программное обеспечение не обеспечивало таких возможностей. Первые ростки взаимодействия появились с моментом появления операционной системы Windows NT4. Именно для массового пользователя NT4 стала первой многопользовательской операционной системой, позволившей реально использовать компьютер нескольким пользователям. Дальнейшим шагом в развитии взаимодействия между пользователями в локальной сети стало появление такой системы как Active Directory. Сейчас я попытаюсь упрощенно и схематично показать в чем смысл системы Active Directory.

    Как я уже говорил выше, большинство операционных систем для персональных компьютеров до появления Windows NT4 подразумевало ситуацию, когда за одним компьютером работал один пользователь. В обиход в те времена вошло такое название как АРМ(автоматизированное рабочее место). Т.е. компьютер просто загружался и пользователю предлагалось запустить необходимые ему программы. По мере увеличения мощности персональных компьютеров открывались новые возможности у программистов операционных систем, на смену «текстовым» операционным системам стали приходить операционные системы с оконным интерфейсом. Это был очень большой шаг вперед, так как оконный интерфейс windows позволил очень сильно стандартизировать вид программ. Пользователю стало не нужным учить команды различных программ. Теперь большинство действий стало СТАНДАРТНЫМ.

    Стремительный рост вычислительной мощности процессоров, объемов жестких дисков и т.п. привел к появлению многопользовательских операционных систем. Т.е. теперь стала возможна ситуация, когда компьютер не просто загружался, теперь при загрузке операционная система однозначно идентифицировала пользователя по его имени и паролю. Такая возможность позволила логически разделить физические ресурсы компьютера для нескольких пользователей, создать иерархию привилегий. Пользователи стали делиться на администраторов, пользователей, опытных пользователей, операторов бэкапа и т.п. Т.е. используя один физический компьютер, пользователи имели доступ только к тем ресурсам, которые им были доступны. Например. На жестком диске стало возможным указывать конкретные права доступа к файлам и папкам для конкретных пользователей, одни папки пользователь мог только просматривать, другие изменять, а в какие-то доступ был полностью запрещен. Тоже самое можно проделать с принтерами, сканерами и другими устройствами. Один пользователь мог печатать на принтер, а другому он был недоступен!

    Хоть ситуация значительно улучшилась, все равно оставалась огромная проблема во взаимодействии компьютеров и пользователей в локальной сети. И причина этой ситуации заключалась в том, что список пользователей, которые имели доступ к компьютеру, хранился на самом компьютере. Представьте, у вас в сети два компьютера, на каждом из которых работает по три пользователя.


На «Компьютере 1» есть общая папка «Общая папка 1», которая должна быть доступна с «Компьютера 2» для пользователей «Коля» и «Даша» для чтения, а пользователю «Жора» для записи. Задача, в подобной конфигурации, заведомо невыполнимая, так как в списке пользователей «Компьютера 1» нет таких пользователей, «Компьютер 1» знает только пользователей «Вася», «Петя» и «Маша». Диалог двух компьютеров будет выглядеть примерно так:

Компьютер 2. Эй, «Компьютер 1», мне нужен доступ к «Общая папка1».

Компьютер 1. А ты кто ?

Компьютер 2. Я — «Коля».

Компьютер 1. (Ищет в своем списке пользователей пользователя «Колю» и не находит.) Я такого не знаю. Ты «Коля» будешь у меня как «Гость»

    И в результате, работающий на «Компьютер 2» «Коля» получит к «Общей папке 1» на «Компьютер 1» доступ, который установлен для пользователя «Гость». А если пользователь «Гость» запрещен на «Компьютер 1», то вообще не получит доступа.

    Единственным выходом из подобной ситуации является завести всех пользователей «Компьютер 2» на «Компьютер 1», тогда вид схематичного рисунка будет примерно такой:


Т.е. диалог двух компьютеров уже изменится на такой:

Компьютер 2. Эй, «Компьютер 1», мне нужен доступ к «Общая папка1».

Компьютер 1. А ты кто ?

Компьютер 2. Я — «Коля».

Компьютер 1. (Ищет в своем списке пользователей пользователя «Колю», находит.) «Коля» скажи мне свой пароль ?

Компьютер 2. Пароль такой-то!

Компьютер 1. (проверяет пароль) Отлично! Пароль подходит! (предоставляет доступ к «Общая папка 1»)

 

А теперь представьте как решить, таким образом, задачу на ста компьютерах, на тысяче, на десятках тысячах да еще разбросанных по всему миру территориально. Представили ? J

    Вот для решения подобных задач и создали систему Active Directory. В чем суть решения попробую показать на схематичном рисунке:


Если раньше списки пользователей хранились на каждом компьютере, то в системе Active Directory все списки пользователей хранятся на серверах. Эти сервера называются контроллеры домена. Списки пользователей и другая информация(компьютеры, принтеры, общие папки и т.п.) дублируются на всех контроллерах домена. Дублирование повышает надежность хранения, отказ одного из серверов не приводит к отказу всей системы. Теперь пользователь, входя на каком-либо компьютере, проходит авторизацию не на данном компьютере, а на одном из контроллеров домена. Таким образом, централизованным хранением списка пользователей решается много вопросов, один из которых доступ к общим ресурсам.

Другим важным свойством Active Directory является такой механизм как групповые политики. Говоря по простому, это подробный свод правил, по которому работает компьютер и пользователь. Для многих из нас, существование этого набора правил остается загадкой, многие просто не замечают и не знают о его существовании, хотя эти правила существуют и работают в компьютерах, не подключенных к Active Directory.

При включении компьютера в Active Directory локальный свод правил заменяется централизованным(групповые политики). Это происходит каждый раз при загрузке компьютера, а также через определенные интервалы времени. Такая замена правил позволяет выявить и исправить ситуацию когда пользователь изменил какие-либо централизованные правила на свои. Таким образом, компьютеры, которые включены в Active Directory можно централизованно настраивать, обслуживать, диагностировать и т.д. и т.п.

Еще хочу отдельно сказать про время. Время – это основа Active Directory. Так как все процессы должны быть синхронизированы, то время является очень важным! Компьютеры, подключенные в Active Directory автоматически синхронизируются по времени с контроллерами домена. Если при включении компьютера обнаруживается значительное расхождение времени компьютера и контроллера домена(5 мин и больше), то пользователь не сможет войти в компьютер.

Вот так схематично можно обрисовать систему Active Directory. Разнообразные подробности и практические советы я опишу в других статьях. J

Добавить комментарий

Ваш e-mail не будет опубликован.