Подключаем пк к домену. Создание и администрирование объекта компьютер в Active Directory

Ввод компьютера в домен Active Directory является достаточно простой процедурой. В данной статье я расскажу как добавить в домен AD DC (Active Directory Domain Services) компьютер под управление операционной системы Windows 7. Контроллером домена (DC) является сервер с установленной ОС Windows Server 2008.

Итак, у нас имеется ПК, который находится в Рабочей группе (WORKGROUP). Чтобы убедиться в этом, необходимо войти в свойства Системы. Для этого найдите на Рабочем столе Windows ярлык «Компьютер»:

Нажмите на нем правой кнопкой мыши и из контекстного меню выберите пункт «Свойства».
Откроется окно свойств операционной системы Windows 7:

Обратите внимание на область информации «Имя компьютера, имя домена и параметры рабочей группы». В области «Рабочая группа» указано значение «WORKGROUP», свидетельствующее о том, что данный компьютер не входит в домен Active Directory.

Прежде чем добавлять компьютер в домен Active Directory необходимо выполнить подготовительные действия :

1. Найдите значок сетевого подключения «Подключение по локальной сети», нажмите на нем правой кнопкой мыши и выберите пункт «Свойства»:

2. В открывшемся окне выберите пункт «Протокол Интернета версии 4 (TCP/IPv4)» и нажмите «Свойства»:

3. Откроется окно «Свойства: Протокола Интернета версии 4 (TCP/IPv4):

3.1 Активируйте пункт «Использовать следующие IP-адрес», а затем укажите значения для ip-адреса, маски подсети и основного шлюза.
3.2 Активируйте пункт «Использовать следующие адреса DNS-серверов» и в поле «Предпочитаемый DNS-сервер» укажите адрес DNS-сервера вашей локальной сети.
В итоге должно получиться примерно так:

Для сохранения настроек нажмите OK. Подготовительные действия перед добавлением компьютера в домен Active Directory выполнены.

Теперь вернемся к свойствамсистемы и выберем пункт «Изменить параметры»:

В открывшемся окне во вкладке «Имя компьютера» выберите пункт «Изменить»:

Откроется окно «Изменение имени компьютера или домена»:

В поле «Имя компьютера» укажите имя вашего компьютера, которое будет отображаться в домене (можно оставить локальное имя). Далее активируйте пункт «Является членом домена» и укажите домен, к которому хотите присоединить ваш компьютер:

Затем нажмите ОК.

В открывшемся окне необходимо ввести данные (пользователь и пароль) учетной записи домена, которая имеет право добавлять новые компьютеры в данный домен Active Directory, и нажать ОК:

Можно указать, например, имя и пароль Администратора контроллера домена.
Если все сделано правильно, то вы увидите окно «Добро пожаловать в домен»:

Нажмите ОК.

Откроется новое окно, которое сообщит о необходимости перезагрузки компьютера для вступления изменений в силу:

Нажмите ОК.

В следующем окне выберите пункт «Закрыть»:

Теперь можно выбрать пункт «Перезагрузить сейчас» или «Перезагрузить позже»:

При выборе «Перезагрузить сейчас» компьютер автоматически перезагрузится. Не забудьте сохранить все важные данные и закройте открытые программы.

Теперь окно приветствия Windows 7 выглядит по другому:

В моем случае предлагается войти под локальным пользователем на компьютер CLIETN1/user1 (CLIENT1 – имя компьютера, user1 – имя пользователя). Чтобы войти в домен, нажмите кнопку «Сменить пользователя».

Откроется новое окно:

Чтобы войти в домен Active Directory выберите пункт «Другой пользователь».
В данном окне укажите имя пользователя и пароль от учетной записи, которая имеется в домене:

В моем примере домен называется «denis.local», а имя доменного пользователя «ivanov». Ниже поля «Пароль» можно увидеть надпись «Вход в DENIS», которая означает, что вход будет осуществляться в качестве доменного пользователя в домен «denis.local». В поле «Пользователь» можно указать «ivanov»либо полное имя (имя домена\имя пользователя), т. е. «denis.local\ivanov»или «denis\ivanov».

Итак, мы вошли с компьютера «client1»под доменным пользователем «ivanov» в домен Active Directory «denis.local». Еще раз откроем свойства системы:

Обратите внимание на область информации «Имя компьютера, имя домена и параметры рабочей группы». В области «домен» указано значение «denis.local», свидетельствующее о том, что данный компьютер принадлежит домену Active Directory под названием «denis.local».

Откроем меню Пуск:

На данном скриншоте можно наблюдать имя и фамилию доменного пользователя «ivanov».

Теперь перейдем на контроллер домена Active Directory, откроем оснастку «Пользователи и компьютеры» и в контейнере «Computers» (Компьютеры) домена «denis.local» увидим имя добавленного в домен компьютера «CLIENT1»:

Добавление компьютера в домен Active Directory завершено успешно.

Всем известно, после установки операционной системы, компьютер изначально включен в рабочую группу (по умолчанию в WORKGROUP). В рабочей группе каждый компьютер это независимая автономная система в которой существует база данных диспетчера безопасности учетных записей SAM (Security Accounts Manager). При входе человека на компьютер выполняется проверка наличия учетной записи в SAM и в соответствии с этими записями даются определенные права. Компьютер который введен в домен продолжает поддерживать свою базу данных SAM, но если пользователь заходит под доменной учетной записью то о проходит проверку на уже на контроллер домена, т.е. компьютер доверяет контроллеру домена идентификацию пользователя.

Ввести компьютер в домен можно различными способами, но перед тем как это делать вы должны убедиться, что данный компьютер соответствует следующим требованиям:

У вас есть право на присоединение компьютера к домену (по умолчанию это право имеют Администраторы предприятия (Enterperise Admins), Администраторы домена (Domain Admins), Администраторы (Administrators), Операторы Учета (Account Admins));

Объект компьютера создан в домене;

Вы должны войти в присоединяемый компьютер как локальный администратор.

У многих администраторов второй пункт может вызвать негодование, - зачем создавать компьютер в AD, если он появиться в контейнере Computers после ввода компьютера в домен. Все дело в том, что в контейнере Computers нельзя создать подразделения, но еще хуже, что к контейнеру нельзя привязать объекты групповой политики. Именно поэтому рекомендуется создать объект компьютер в необходимом подразделении, а не довольствоваться автоматически созданной учетной записью компьютера. Конечно можно переместить автоматически созданный компьютер в необходимое подразделение, но зачастую подобные вещи администраторы забывают делать.

Теперь разберем способы создания компьютера (компьютеров) в AD:

Создание компьютеров при помощи оснастки «Active Directory – пользователи и компьютеры».

Для этого способа нам понадобится запустить оснастку «Active Directory – пользователи и компьютеры», у себя на компьютере с помощью Admin Pack или на контроллере домена. Для этого необходимо нажать "Пуск- Панель управления- Система и безопасность- Администрирование- " выберите необходимое подразделение, нажмите на нем правой кнопкой мыши, в контекстном меню выберите "Создать- Компьютер ".

Впишите имя компьютера.

Создание учетной записи компьютера с помощью команды DSADD.

Общий вид команды:

dsadd computer [-desc <описание>] [-loc <расположение>] [-memberof <группа...>] [{-s <сервер> | -d <домен>}] [-u <пользователь>] [-p {<пароль> | *}] [-q] [{-uc | -uco | -uci}]

Параметры:

Значение Описание
Обязательный параметр. Задает различающееся имя (DN) добавляемого компьютера.
-desc <описание> Задает описание компьютера.
-loc <размещение> Задает размещение компьютера.
-memberof <группа...> Добавляет компьютер в одну или несколько групп, определяемых разделяемым пробелами списком имен DN <группа...>.
{-s <сервер> | -d <домен>}
-s <сервер> задает подключение к контроллеру домена(DC) с именем <сервер>.
-d <домен> задает подключение к DC в домене <домен>.
По умолчанию: DC в домене входа.
-u <пользователь> Подключение под именем <пользователь>. По умолчанию: имя пользователя, вошедшего в систему. Возможные варианты: имя пользователя, домен\имя пользователя, основное имя пользователя (UPN).
-p {<пароль> | *} Пароль пользователя <пользователь>. Если введена *, будет запрошен пароль.
-q "Тихий" режим: весь вывод заменяется стандартным выводом.
{-uc | -uco | -uci}

-uc Задает форматирование ввода из канала или вывода в канал в Юникоде.
-uco Задает форматирование вывода в канал или файл в Юникоде.
-uci Задает форматирование ввода из канала или файла в Юникоде.

Пример использования команды Dsadd:

Dsadd computer “CN=COMP001,OU=Moscow,OU=Departments,DC=pk-help,DC=com” –desc “Компьютер отдела IT”

Создание учетной записи рабочей станции или сервера с помощью команды Netdom.

Общий вид команды Netdom:

NETDOM ADD <компьютер> ]
<компьютер> это имя добавляемого компьютера
/Domain указывает домен, в котором требуется создать учетную запись компьютера
/UserD учетная запись пользователя, используемая при подключении к домену, заданному аргументом /Domain
/PasswordD пароль учетной записи пользователя, заданной аргументом /UserD. Знак * означает приглашение на ввод пароля
/Server имя контроллера домена, используемого для добавления. Этот параметр нельзя использовать одновременно с параметром /OU.
/OU подразделение, в котором необходимо создать учетную запись компьютера. Требуется полное различающееся доменное имя RFC 1779 для подразделения. При использовании этого аргумента необходимо работать непосредственно на контроллере указанного домена. Если этот аргумент не задан, учетная запись будет создана в подразделении по умолчанию для объектов компьютеров этого домена.
/DC указывает, что требуется создать учетную запись компьютера контроллера домена. Этот параметр нельзя использовать одновременно с параметром /OU.
/SecurePasswordPrompt Использовать для указания учетных данных безопасное всплывающее окно. Этот параметр следует использовать при необходимости указания учетных данных смарт-карты. Этот параметр действует только в случае задания пароля в виде *.

Создание объекта Компьютер с помощью Ldifde () и Csvde ().

Администрирование учетной записи компьютеров в Active Directory.

Переименование компьютера в AD.

Запускаем командную строку и с помощью команды Netdom переименовываем компьютер в AD:

Netdom renamecomputer <Имя компьютера> /Newname: <Новое имя>

Пример: Netdom renamecomputer COMP01 /Newname: COMP02

Удаление учетных записей компьютера.

1 Удалить учетную запись компьютера с помощью оснастки "Active Directory – пользователи и компьютеры ". Запускаете оснастку "Active Directory – пользователи и компьютеры " находите необходимый компьютер нажимаете не нем правой кнопкой мыши, в контекстном меню выбираете "Удалить ", подтверждаете удаление

2 Удалить компьютер можно с помощью команды DSRM:

DSRM

DSRM CN=COMP001,OU=Moscow,OU=Departments,DC=pk-help,DC=com
.

Устранение ошибки "Не удалось установить доверительных отношений между этой рабочей станцией и основным доменом".

Иногда при попыдке войти в компьютер пользователь получает сообщение "Не удалось установить доверительных отношений между этой рабочей станцией и основным доменом ". Это ошибка возникает при отказе в работе безопасного канала между машиной и контроллером домена. Что бы это устранить необходимо сбросить безопасный канал. Можно воспользоваться одним из методов:

1 Зайти оснастку «Active Directory – пользователи и компьютеры», найти проблемный компьтер, нажать на нем правой кнопкой мыши и выбрать "Переустановить учетную запись" (Reset Account). После этого компьютер следует заново присоединить к домену и перезагрузить.

2 С помощью команды Netdom :

Netdom reset <имя машины> /domain <Имя домена> /User0 <Имя пользователя> /Password0 <Пароль> без кавычек <>

Пример: Netdom reset COMP01 /domain сайт /User0 Ivanov /Password *****

3 С помощью команды Nltest :

Nltest /server:<Имя компьютера> /sc_reset:<Домен>\<Контроллер домена>

Ввод компьютера в домен позволяет использовать все преимущества домена, такие как централизированное управление, групповые политики и многое, многое другое.

Предварительные требования

Перед вводом компьютера под управлением Windows 7 в домен убедитесь что следующие предварительные требования соблюдены:

Используется Windows 7 Professional, Ultimate или Enterprise - только эти редакции Windows 7 могут быть подключены к домену.

У вас есть сетевая карта - собсвенно без комментариев, думаю вы не забыли об этом

Вы подключены к локальной сети - Убедитесь что вы подключены к локальной сети. Хотя Windows 7 может быть присоединена к домену Windows Server 2008 R2 в оффлайн режca, это тема для отдельной статьи.

Вы имеете правильный IP адрес - Ещё раз убедитесь что вы подключены к сети и получили правильный IP адрес. Адрес может быть настроен вручную, получен от DHCP сервера или может быть получен APIPA address (который начинается с 169.254.X.Y). Если вами получен APIPA адрес, вы гарантированно получите потенциальные проблемы, так как APIPA и AD не работают совместно.

Вам доступны котроллеры домена - или как минимум один из них. Вы должны проверить связь с контроллером домена, например пропинговав его, хотя успешный пинг не гарантирует что контроллер домена полностью доступен.

Вы должны иметь правильно настроенный DNS сервер - Без правильно настроенного DNS сервера вы гарантированно получите проблемы при вводе в домен, во время работы и прочее.

Вам доступны DNS сервера - Проверьте ваше подключение к DNS серверам с помощью программы PING и выполните запрос NSLOOKUP.

Проверьте свои права на локальной системе - Для успешного ввода в домен у вас должны быть права локального администратора компьютера.

Знайте ваше доменное имя, имя администратора и пароль

Существует два способа ввода компьютера в домен. В данной статье мы рассмотрим оба способа

Метод #1 - Традиционный способ

1. Откройте свойства системы, нажав кнопку Start, затем правой кнопкой мыши на ярлыке "Computer", и нажмите "Properties".

2. В разделе "Computer name, domain, and workgroup settings" нажмите "Change settings".

3. Перейдите в вкладку Computer Name и нажмите "Change".

4. В разделе Member of кликните Domain.

5. Введите имя домена, к которому вы хотите подключиться и нажмите OK.

Вам будет предложено ввести имя пользователя домена и пароль.

После успешного ввода компьютера в домен вам будет предложено перегрузиться. Для завершения ввода сделайте это.

Метод #2 - Используем NETDOM

С помощью NETDOM мы можем выполнить ввод компьютера в домен из командной строки с помощью всего одной команды.

NETDOM в Windows 7 включен в операционную систему, в отличие от Windows 2000/XP/2003 где необходимо было устанавливать Support Tools.

Откройте командную строку от имени администратора:

и введите следующую команду:

Замечание : Замените DOMAIN.COM и DOMAIN на ваше имя домена и естественно укажите ваше доменные логин и пароль. Обратите внимание также на дополнительную "d" в "user" и "password", это НЕ опечатка.

Netdom join %computername% /domain:DOMAIN.COM /userd:DOMAIN\administrator /passwordd@ssw0rd

Для заверешения процедуры перегрузите компьютер.

Если вы как и я всегда внимательно отслеживаете новости hi-tech то советую подписаться на отличный новостной сайт Informua.net. Только самые интересные новости высоких технологий и многое другое.

Зачастую возникает необходимость ввести Linux-машину в существующий домен Windows. Например, чтобы сделать файловый сервер с помощью Samba. Сделать это очень просто, для этого вам понадобятся клиент Kerberos, Samba и Winbind.

Перед установкой желательно обновиться:

Sudo aptitude update sudo aptitude upgrade

Установить всё это добро можно командой:

Sudo aptitude install krb5-user samba winbind

Также может понадобиться установить следующие библиотеки:

Sudo aptitude install libpam-krb5 libpam-winbind libnss-winbind

Либо, если вы используете Ubuntu Desktop, те же пакеты можно поставить через менеджер пакетов Synaptic.

Далее вам потребуется настроить все вышеперечисленные инструменты для работы с вашим доменом. Допустим, вы хотите войти в домен DOMAIN.COM , доменконтроллером которого является сервер dc.domain.com с IP адресом 192.168.0.1 . Этот же сервер является и первичным DNS сервером домена. Кроме того допустим у вас есть второй доменконтроллер , он же DNS - dc2.domain.com с IP 192.168.0.2 . Ваш же компьютер будет называться smbsrv01 .

Настройка DNS

Для начала необходимо изменить настройки DNS на вашей машине, прописав в качестве DNS сервера доменконтроллер и в качестве домена поиска - нужный домен.

Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager , в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:

Domain domain.com search domain.com nameserver 192.168.0.1 nameserver 192.168.0.2

В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf

Если IP-адрес динамический и присваивается DHCP сервером то после перезагрузки resolv.conf может формироваться «неправильный» resolv.conf" , например присутствует только один nameserver 192.168.0.1 и не указаны domain и search. Нужно отредактировать /etc/dhcp/dhclient.conf . Чтобы появились записи domain и search нужно убрать комментарий перед строкой supersede domain-name, и вписать свой домен:

Supersede domain-name "domain.com";

Чтобы добавить еще один nameserver нужно убрать комментарий перед prepend domain-name-servers и указать ip сервера:

Prepend domain-name-servers 192.168.0.2;

Для применения изменений остается перезапустить службу:

/etc/init.d/networking restart

Теперь убедитесь, что вы задали нужное имя компьютера в файле /etc/hostname:

Smbsrv01

Кроме того необходимо отредактировать файл /etc/hosts так, чтобы в нём была запись с полным доменным именем компьютера и обязательно коротким именем хоста, ссылающаяся на один из внутренних IP:

# Имена этого компьютера 127.0.0.1 localhost 127.0.1.1 smbsrv01.domain.com smbsrv01

Сразу нужно проверить что нормально пингуется наш контроллер домена, по короткому и полному имени, чтобы в будушем не получать ошибки что контроллер домена не найден:

Ping dc ping dc.domain.com

Не обязательно, но если вы что-то поменяете - перезагрузите компьютер для применения изменений.

Настройка синхронизации времени

Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:

Sudo net time set dc

Если в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:

Ntpdate ntp.mobatime.ru

Автоматическая же синхронизация настраивается с помощью ntpd , это демон будет периодически выполнять синхронизацию. Для начала его необходимо установить:

Sudo aptitude install ntp

Теперь исправьте файл /etc/ntp.conf , добавив в него информацию о вашем сервере времени:

# You do need to talk to an NTP server or two (or three). server dc.domain.com

После чего перезапустите демон ntpd:

Sudo /etc/init.d/ntp restart

Теперь пора настраивать непосредственно взаимодействие с доменом.

Настройка авторизации через Kerberos

Default_realm = DOMAIN.COM kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true DOMAIN.COM = { kdc = dc kdc = dc2 admin_server = dc default_domain = DOMAIN.COM } .domain.com = DOMAIN.COM domain.com = DOMAIN.COM krb4_convert = false krb4_get_tickets = false

Вам, конечно, нужно изменить domain.com на ваш домен и dc и dc2 на ваши доменконтроллеры. Кстати, возможно вам понадобится написать полные имена доменконтроллеров dc.domain.com и dc2.domain.com . Поскольку у меня прописан домен поиска в DNS , то мне это делать не нужно.

Обратите особое внимание на регистр написания имени домена - везде, где домен написан в верхнем регистре, его обязательно нужно писать именно в верхнем регистре. Иначе волшебным образом ничего может не заработать.

Это не все возможные опции настройки Kerberos, только основные. Однако их обычно достаточно.

Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду

Kinit [email protected]

Вместо username естественно стоит вписать имя существующего пользователя домена.

Имя домена необходимо писать заглавными буквами!

Если вы не получили никаких ошибок - значит вы настроили всё верно и домен отдаёт вам билет Kerberos. Кстати, некоторые распространённые ошибки перечислены чуть ниже.

Убедиться в том, что билет получен, можно выполнив команду

Удалить все билеты (они вам вообще говоря не нужны) можно командой

Распространённые ошибки kinit

Kinit(v5): Clock skew too great while getting initial credentials

Это значит, что у вашего компьютера не синхронизировано время с доменконтроллером (см. выше).

Kinit(v5): Preauthentication failed while getting initial credentials

Вы ввели неверный пароль.

Kinit(v5): KDC reply did not match expectations while getting initial credentials

Самая странная ошибка. Убедитесь, что имя realm в krb5.conf , а так же домен в команде kinit введены большими буквами:

DOMAIN.COM = { # ... kinit [email protected] kinit(v5): Client not found in Kerberos database while getting initial credentials

Указанного пользователя не существует в домене.

Настройка Samba и вход в домен

Для того, чтобы войти в домен, необходимо прописать правильные настройки в файле /etc/samba/smb.conf . На данном этапе вас должны интересовать только некоторые опции из секции . Ниже - пример части файла конфигурации Samba с комментариями по поводу значения важных параметров:

# Эти две опции нужно писать именно в заглавном регистре, причём workgroup без # последней секции после точки, а realm - полное имя домена workgroup = DOMAIN realm = DOMAIN.COM # Эти две опции отвечают как раз за авторизацию через AD security = ADS encrypt passwords = true # Просто важные dns proxy = no socket options = TCP_NODELAY # Если вы не хотите, чтобы самба пыталась при случае вылезти в лидеры в домене или рабочей группе, # или даже стать доменконтроллером, то всегда прописывайте эти пять опций именно в таком виде domain master = no local master = no preferred master = no os level = 0 domain logons = no # Отключить поддержку принтеров load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes

После того, как вы отредактируете smb.conf выполните команду

Testparm

Она проверит вашу конфигурацию на ошибки и выдаст суммарную сводку о нём:

# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions

Как видно мы задали правильные параметры для того, чтобы наш компьютер стал членом домена. Теперь пора попытаться непосредственно войти в домен. Для этого введите команду:

Net ads join -U username -D DOMAIN

И в случае успеха вы увидите что-то похожее на:

# net ads join -U username -D DOMAIN Enter username"s password: Using short domain name -- DOMAIN Joined "SMBSRV01" to realm "domain.com"

Используемые параметры команды net

U username%password: Обязательный параметр, вместо username необходимо подставить имя пользователя с правами администратора домена, и указать пароль.

D DOMAIN: DOMAIN - собственно сам домен, домен можно и не указывать, но лучше всё же это всегда делать - хуже не будет.

S win_domain_controller: win_domain_controller , можно не указывать, но бывают случаи когда автоматически сервер не находит контроллер домена.

createcomputer=«OU/OU/…»: В AD часто используется OU (Organizational Unit), есть в корне домена OU = Office, в нем OU = Cabinet, чтобы сразу добавить в нужный можно указать так: sudo net ads join -U username createcomputer=«Office/Cabinet».

Если больше никаких сообщений нет - значит всё хорошо. Попробуйте попинговать свой компьютер по имени с другого члена домена, чтобы убедиться, что в домене всё прописалось так, как надо.

Так же можно набрать команду:

Net ads testjoin

Если все хорошо, можно увидеть:

#net ads testjoin Join is OK

Но иногда после сообщения о присоединении к домену выдаётся ошибка наподобие :

DNS update failed!

Это не очень хорошо, и в этом случае рекомендуется ещё раз прочитать раздел про настройку DNS чуть выше и понять, что же вы сделали не так. После этого нужно удалить компьютер из домена и попытаться ввести его заново. Если вы твердо уверены, что всё настроили верно, а DNS всё равно не обновляется, то можно внести вручную запись для вашего компьютера на ваш DNS сервер и всё будет работать. Конечно, если нет никаких других ошибок, и вы успешно вошли в домен. Однако лучше всё же разберитесь, почему DNS не обновляется автоматически. Это может быть связано не только с вашим компьютером, но и с некорректной настройкой AD.

Прежде чем выяснять, почему же не обновляется DNS , не забудьте перезагрузить компьютер после введения в домен! Вполне возможно, что это решит проблему.

Если всё прошло без ошибок, то поздравляем, вы успешно вошли в домен! Можете заглянуть в AD и убедиться в этом. Кроме того хорошо бы проверить, что вы можете видеть ресурсы в домене. Для этого установите smbclient:

Sudo aptitude install smbclient

Теперь можно просматривать ресурсы компьютеров домена. Но для этого нужно иметь билет kerberos, т.е. если мы их удалили, то получаем опять через kinit (см. выше). Посмотрим какие ресурсы предоставлены в сеть компьютером workstation:

Smbclient -k -L workstation

Вы должны увидеть список общих ресурсов на этом компьютере.

Настройка Winbind

Если вам необходимо как-либо работать с пользователями домена, например, настраивать SMB-шары с разграничением доступа, то вам понадобится кроме самой Samba ещё и Winbind - специальный демон, служащий для связи локальной системы управления пользователями и группами Linux с сервером Active Directory. Проще говоря Winbind нужен, если вы хотите видеть пользователей домена на своём компьютере с Ubuntu.

Winbind позволяет спроецировать всех пользователей и все группы AD в вашу Linux систему, присвоив им ID из заданного диапазона. Таким образом вы сможете назначать пользователей домена владельцами папок и файлов на вашем компьютере и выполнять любые другие операции, завязанные на пользователей и группы.

Для настройки Winbind используется всё тот же файл /etc/samba/smb.conf . Добавьте в секцию следующие строки:

# Опции сопоставления доменных пользователей и виртуальных пользователей в системе через Winbind. # Диапазоны идентификаторов для виртуальных пользователей и групп. idmap uid = 10000 - 40000 idmap gid = 10000 - 40000 # Эти опции не стоит выключать. winbind enum groups = yes winbind enum users = yes # Использовать домен по умолчанию для имён пользователей. Без этой опции имена пользователей и групп # будут использоваться с доменом, т.е. вместо username - DOMAIN\username. # Возможно именно это вам и нужно, однако обычно проще этот параметр включить. winbind use default domain = yes # Если вы хотите разрещить использовать командную строку для пользователей домена, то # добавьте следующую строку, иначе в качестве shell"а будет вызываться /bin/false template shell = /bin/bash # Для автоматического обновления билета Kerberos модулем pam_winbind.so нужно добавить строчку winbind refresh tickets = yes

Параметры:

idmap uid = 10000 - 40000

idmap gid = 10000 - 40000

в новых версиях Samba уже устарели и при проверке конфига самбы с помощью testparm будет выдваться предупреждение:

WARNING: The «idmap uid» option is deprecated

WARNING: The «idmap gid» option is deprecated

Чтобы убрать предупреждения нужно заменить эти строки на новые:

idmap config * : range = 10000-20000

idmap config * : backend = tdb

Теперь перезапустите демон Winbind и Samba в следующем порядке:

Sudo /etc/init.d/winbind stop sudo smbd restart sudo /etc/init.d/winbind start

Запускаем

Sudo testparm

Смотрим есть ли ошибки или предупреждения, если появится:

«rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)»

Без перезагрузки можно устранить так:

Ulimit -n 16384

Для сохранения после перезагрузки отредактировать файл /etc/security/limits.conf

# Добавить в конец файла строки: * - nofile 16384 root - nofile 16384

После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой:

# wbinfo -t checking the trust secret for domain DCN via RPC calls succeeded

А так же, что Winbind увидел пользователей и группы из AD командами :

Wbinfo -u wbinfo -g

Эти две команды должны выдать список пользователей и групп из домена соответственно. Либо с префиксом DOMAIN\ , либо без него - в зависимости от того, какое значение вы указали параметру «winbind use default domain» в smb.conf .

Итак, Winbind работает, однако в систему он ещё не интегрирован.

Добавление Winbind в качестве источника пользователей и групп

Для того, чтобы ваша Ubuntu прозрачно работала с пользователями домена, в частности, чтобы вы могли назначать пользователей домена владельцами папок и файлов, необходимо указать Ubuntu использовать Winbind как дополнительный источник информации о пользователях и группах.

Для этого измените две строчки в файле /etc/nsswitch.conf:

Passwd: compat group: compat

добавив к ним в конец winbind:

Passwd: compat winbind group: compat winbind

Files: dns mdns4_minimal mdns4

ubuntu server 14.04, файл /etc/nsswitch.conf не содержал строку «files: dns mdns4_minimal mdns4» вместо неё было: «hosts: files mdns4_minimal dns wins» Которую я преобразовал в: «hosts: dns mdns4_minimal mdns4 files» после чего всё заработало

Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив

Getent passwd getent group

Первая команда должна вам вернуть всё содержимое вашего файла /etc/passwd , то есть ваших локальных пользователей, плюс пользователей домена с ID из заданного вами в smb.conf диапазона. Вторая должна сделать тоже самое для групп.

Теперь вы можете взять любого пользователя домена и сделать его, например, владельцем какого-нибудь файла.

Авторизация в Ubuntu через пользователей домена

Несмотря на то, что все пользователи домена фактически стали полноценными пользователями системы (в чём можно убедиться, выполнив последние две команды из предыдущего раздела), зайти ни под кем из них в систему всё ещё нельзя. Для включения возможности авторизации пользователей домена на компьютере с Ubuntu необходимо настроить PAM на работу с Winbind.

Он-лайн авторизация

Для Ubuntu 10.04 и выше добавьте всего одну строку в файле /etc/pam.d/common-session , т.к. PAM и так неплохо справляется с авторизацией:

Session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077

Для Ubuntu 13.10 чтобы появилось поле ручного ввода логина необходимо в любой файл из папки /etc/lightdm/lightdm.conf/ снизу добавить строку:

Greeter-show-manual-login=true

Для Ubuntu 9.10 и ниже придется редактировать несколько файлов (но никто не запрещает использовать этот способ и в 10.04 - он тоже работает):

Последовательность строк в файлах имеет значение!

/etc/pam.d/common-auth

Auth required pam_env.so auth sufficient pam_unix.so likeauth nullok try_first_pass auth sufficient pam_winbind.so use_first_pass krb5_auth krb5_ccache_type=FILE auth required pam_deny.so

/etc/pam.d/common-account

Account sufficient pam_winbind.so account required pam_unix.so

/etc/pam.d/common-session

Session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077 session optional pam_ck_connector.so nox11 session required pam_limits.so session required pam_env.so session required pam_unix.so

/etc/pam.d/common-password

Password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow password sufficient pam_winbind.so password required pam_deny.so

И, наконец, необходимо перенести запуск Winbind при загрузке системы после всех остальных служб (по умолчанию он запускается с индексом 20). Для этого в терминале выполните следующую команду:

Sudo bash -c "for i in 2 3 4 5; do mv /etc/rc$i.d/S20winbind /etc/rc$i.d/S99winbind; done"

Что эквивалентно запуску для каждого уровня (в примере - 4) команды:

Mv /etc/rc4.d/S20winbind /etc/rc4.d/S99winbind

В некоторых случаях winbind может иметь иной уровень запуска (например, S02winbind). Поэтому сначала проверьте имена файлов, вполнив команду «ls /etc/rc{2,3,4,5}.d/ | grep winbind» (без кавычек).

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

Офф-лайн авторизация

Часто возникает ситуация, когда домен-контроллер недоступен по различным причинам - профилактика, отключение света или вы принесли ноутбук домой и хотите поработать. В этом случае для Winbind можно настроить кэширование учетных записей пользователей домена. Для этого необходимо сделать следующее. Добавьте в секцию файла /etc/samba/smb.conf следующие строки:

# Возможность оффлайн-авторизации при недоступности доменконтроллера winbind offline logon = yes # Период кэширования учетных записей, по умолчанию равен 300 секунд winbind cache time = 300 # Необязательная настройка, но избавляет от нудных пауз, указываем контроллер домена dc, # можно указать и ip, но это является плохим тоном password server = dc

Обычно этого достаточно. Если же возникают ошибки, то необходимо создать файл /etc/security/pam_winbind.conf со следующим содержанием:

Внимание! При использовании советов ниже может возникать совершенно случайная ошибка «Сбой аутентификации»! Поэтому все что Вы делаете, Вы делаете на свой страх и риск!

# # pam_winbind configuration file # # /etc/security/pam_winbind.conf # # turn on debugging debug = no # request a cached login if possible # (needs "winbind offline logon = yes" in smb.conf) cached_login = yes # authenticate using kerberos krb5_auth = yes # when using kerberos, request a "FILE" krb5 credential cache type # (leave empty to just do krb5 authentication but not have a ticket # afterwards) krb5_ccache_type = FILE # make successful authentication dependend on membership of one SID # (can also take a name) ;require_membership_of = silent = yes

Файл /etc/pam.d/gnome-screensaver в таком случае принимает вид:

Auth sufficient pam_unix.so nullok_secure auth sufficient pam_winbind.so use_first_pass auth required pam_deny.so

А также изменяется файл /etc/pam.d/common-auth:

Auth optional pam_group.so auth sufficient pam_unix.so nullok_secure use_first_pass auth sufficient pam_winbind.so use_first_pass auth required pam_deny.so

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

1. Создание файла ответов для автономного ввода (offline domain join) ПК в домен

Подключимся к консоли сервера используя Remote Desctop Protocol и запустим командную строку, либо консоль powershell. Используйте что вам больше нравится. В примере я буду использовать командную строку. для этого запущу утилиту cmd от имени администратора. Для этого щелкнем по Командной строке правой кнопкой мыши и выберем в появившемся окне Запустить от имени администратора .

Используя интерфейс командной строки введем следующую команду:

Djoin.exe /provision /domain EXAMPLE.COM /machine ИМЯ КОМПЬЮТЕРА /rootcacerts /machineou «ou=desktops, dc=EXAMPLE, dc=COM » /policynames «Параметры клиента DirectAccess» /savefile C:\ИМЯ ФАЙЛА.txt

Справка по работе с утилитой Djoin.exe:

/PROVISION — подготавливает учетную запись компьютера в домене.
/DOMAIN <имя> — <имя> домена, к которому необходимо присоединиться.
/MACHINE <имя> — <имя> компьютера, присоединяемого к домену.
/MACHINEOU — необязательный параметр, определяющий подразделение
, в котором создается учетная запись.
/DCNAME — необязательный параметр, определяющий целевой контроллер домена , на котором будет создана учетная запись.
/REUSE — повторно использовать существующую учетную запись (пароль будет сброшен).
/SAVEFILE <путь_к_файлу> — сохранить данные подготовки в файл, расположенный по указанному пути.
/NOSEARCH — пропустить обнаружение конфликтов учетных записей; требуется DCNAME (более высокая производительность).
/DOWNLEVEL — обеспечивает поддержку контроллера домена Windows Server 2008 или более ранней версии.
/PRINTBLOB — возвращает большой двоичный объект метаданных в кодировке base64 для файла ответов.
/DEFPWD — использовать пароль учетной записи компьютера по умолчанию (не рекомендуется).
/ROOTCACERTS — необязательный параметр, включить корневые сертификаты центра сертификации.
/CERTTEMPLATE <имя> — необязательный параметр, <имя> шаблона сертификата компьютера. Включает корневые сертификаты центра
сертификации.
/POLICYNAMES <имена> — необязательный параметр, список имен политик, разделенных точкой с запятой. Каждое имя является отображаемым именем объекта групповой политики в AD.
/POLICYPATHS <пути> — необязательный параметр, список путей к политикам, разделенных точкой с запятой. Каждый путь указывает на расположение файла политик реестра.
/NETBIOS <имя> — необязательный параметр, Netbios-имя компьютера, присоединяемого к домену.
/PSITE <имя> — необязательный параметр, <имя> постоянного сайта, в который нужно поместить компьютер, присоединяемый к домену.
/DSITE <имя> — необязательный параметр, <имя> динамического сайта, в который первоначально помещается компьютер, присоединяемый к домену.
/PRIMARYDNS <имя> — необязательный параметр, основной DNS-домен компьютера, присоединяемого к домену.
/REQUESTODJ — требует автономного присоединения к домену при следующей загрузке.
/LOADFILE <путь_к_файлу> — <путь_к_файлу>, указанный ранее с помощью параметра /SAVEFILE.
/WINDOWSPATH <путь> — <путь> к каталогу с автономным образом Windows.
/LOCALOS — позволяет указывать в параметре /WINDOWSPATH локальную операционную систему.
Эту команду должен выполнять локальный администратор.
Для применения изменений потребуется перезагрузить компьютер.

В результате выполнения команды с приведенными выше параметрами мы получим файл ответов, который уже содержит в себе необходимые для работы Direct Access сертификаты, список политик direct access, необходимо пространство имен DNS.

2. Ввод в домен компьютера через Direct Access

Передаем полученный текстовый файл на рабочее место пользователя и запускаем его из командной строки:

djoin /requestODJ /loadfile C:\ИМЯ ФАЙЛА.txt /windowspath %SystemRoot% /localos

На этом процедура удаленного ввода компьютера в домен закончена. В окне приглашения вводим имя доменного пользователя и его пароль.