Semenalidery.com

IT Новости из мира ПК
11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ad linux server

[Active Directory] Ubuntu в домене Windows AD

Некоторое время назад на работе достался мне для работы ноутбук HP ProBook 6460b. Ну и пришла в голову идея поставить на него вместо надоевшей Windows 7 Pro давно понравившуюся мне Ubuntu 14.04 Trusty LTS. Выбор операционной системы связан с тем, что Ubuntu я использую на домашнем ноутбуке и мне захотелось иметь такую же систему на рабочем компьютере. Потому, что постоянное переключение между ОСями дома и на работе быстро надоело мне и я решился на установку Ubuntu на рабочем ноуте.

Начну по порядку

Процесс установки Убунты на ноутбук не буду пересказывать потому, что не вижу в этом смысла из-за большого количества таких мануалов на просторах интернета. Скажу только то, что устанавливал с флешки, а образ на флешку писал на рабочем ноутбуке под Windows 7 Pro с помощью программы Rufus. Хватит про установку, перейдем к процессу введения в домен.
При вводе в домен Windows я пользовался стандартной инструкцией по вводу в домен. В процессе ввода в домен возникали проблемы самого разного характера (в основном связанные с моей невнимательностью и легкой кривизной рук 🙂 ). Да инструкция на русском языке есть и она довольно хороша, но я все же пользовался не только этой инструкцией, но и другими подсказками с прочих сайтов и форумов. Поэтому я решил собрать из всех одну свою.

Первое что необходимо сделать это — правильно и вполне логично! — обновиться:

Далее нас потребуется установить клиенты Kerberos , Samba и Winbind для нормальной и адекватной работы в домене Windows . Сделать это можно одной командой:

Лично я пробовал два варианта установки: первый — как указано выше — установка всех необходимых пакетов одной строкой, и второй — установка каждого паке в отдельности. Честно признаюсь, что меня больше устроил и больше понравился вариант отдельной установки каждого пакета. Поясню это тем, что при комплексной установке у меня начальная настройка пакета Kerberos не происходила, и я решил (точнее не решил, а мне пришлось из-за кривизны рук и невнимательности переустанавливать полностью Ubuntu и соответственно все необходимые пакеты) ставить все пакеты по отдельности в вышеуказанном порядке. Это дало свои плоды. На этапе установки пакеты Kerberos произошла его полная настройка где указывались все необходимые параметры для работы в домене (собственно сам домен, необходимые для авторизации DC , рабочие группы или зоны). Далее я поставил Самбу и Винбинд с которыми каких-либо заморочек не было. Так же я установил указанные желательными библиотеки libpam-krb5 , libpam-winbind и libnss-winbind . Их я устанавливал одной командой, т.к. они не требуют никаких ручных настроек и просто желательно их присутствие в системе.

Для простоты и дальнейшей ясности процесса будем считать нашим доменом по умолчанию DOMAIN.RU , доменконтроллером которого будет first.domain.ru с ip-адресом 192.168.1.2 . Он же будет нашим первичным DNS сервером домена. Коме того представим в нашем домене еще один доменконтроллер second.domain.ru с ip-адресом 192.168.1.3 . Ну и компьютер наш будет называться work-ubuntu .

Настройка DNS

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

В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head . Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf . Если IP-адрес динамический и присваивается DHCP сервером то после перезагрузки resolv.conf может формироваться “неправильный” resolv.conf , например присутствует только один nameserver 192.168.1.1 и не указаны domain и search . Нужно отредактировать /etc/dhcp/dhclient.conf . Чтобы появились записи domain и search нужно убрать комментарий перед строкой supersede domain-name , и вписать свой домен:

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

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

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

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

Не обязательно конечно, но как говорится в инструкции “желательно” при внесении каких-либо изменений делать перезагрузку. Лично я так и делал.

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

Тут собственно говоря ничего сложного! Я просто единожды выполнил команду:

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

Собственно переходим к самому основному: настройка авторизации через Kerberos

Настройка авторизации по протоколу Kerberos осуществляется простым редактированием файла /etc/krb5.conf . Вот примерный его вид:

Вы естественно указываете вместо DOMAIN.RU и first свои домен и контроллер домена. Особое внимание обращаю на соблюдение регистра — все что написано в верхнем регистре пишется в верхнем регистре!

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

Вместо vasya и DOMAIN.RU вы так же указываете свои имя пользователя и домен. Команда так же регистрозависима! Если вы после выполнения данной команды получаете завпрос на ввод пароля от указанного пользователя и не получаете никаких ошибок, значит у вас все прекрасно. В противном случае еще раз перепроверьте все измененные вами файлы на правильность (внимательно изменяйте все ваши файлы).

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

Будем считать, что авторизация вы настроили и билет получен. Теперь настроим вход в домен.

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

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

Теперь необходимо проверить внесенные изменения на правильность (точнее себя на внимательность и руки на кривость 🙂 ) следующей командой:

В случае правильного изменения файла /etc/samba/smb.conf вы увидите примерно следующее:

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

В случае успешного входа вы увидите на экране примерно следующее:

Я снова не стану описывать все возможные ошибки, потому что и ежу понятно, что если появились ошибки значит ты сделал что-то не так. Поэтому скажу только одно: RTFM friend!

На данном этапе вы можете установить себе smbclient :

и проверить доступность ресурсов, хотя бы, на доменконтроллере:

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

Переходим к настройке Winbin

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

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

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

Строки с параметрами idmap config указаны с новыми параметрами не характерными для старых версий Samba, поэтому на данном этапе будьте внимательнее. Старый формат этих строк можно посмотреть в официальной инструкции по вводу в домен.

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

Смотрим есть ли ошибки или предупреждения, если появится: rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) , то отредактировать файл /etc/security/limits.conf :

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

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

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

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

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

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

Читать еще:  Ошибка 2003 при обновлении iphone

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

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

Так же рекомендую привести строку hosts: в файле /etc/nsswitch.conf к виду:

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

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

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

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

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

Для он-лайн авторизации я лично подредактировал парочку файлов. Первый файл, который я редактировал это /etc/pam.d/common-session и добавил в него всего одну строчку:

Вторым был файлик /etc/lightdm/user.conf . В него необходимо добавить строчку в самый конец файла:

На этом собственно говоря все готово! Перезагружаемся и входим под учетной записью доменного пользователя.

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

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

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

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

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

На этом вроде бы все 🙂

Вместо заключения

После всех проделанных операций наша машина на Ubuntu стала полноценным членом домена Windows и теперь с ней могу работать пользователи AD .

Было мягко говоря не легко. Тяжело было собрать информацию, относящуюся именно к моей Ubuntu 14.04 Trusty LTS .

Linux в домене Active Directory

Содержание

Если вам нужно просто предоставить сетевой доступ к ресурсам Linux компьютера, то смотрите статью Samba.

В этой статье мы опишем как подключить Linux компьютер к домену под управлением Microsoft Active Directory и сделать из него файловый сервер.

После выполнения этой инструкции мы будем иметь в сети файловый сервер под управлением ОС Линукс, входящий в домен Windows 2003 и ничем не отличающийся от файлового сервера под Windows. Пользователи домена смогут обращаться к его ресурсам под своими учётными записями. Доступ регулируется группами домена AD.

По этой инструкции настраивались Debian (4, 5), Ubuntu 9.10, создавалась она на основе официальной документации и многих рекомендаций и инструкций из Интернета. Остальные Linux’ы настраиваются сходным образом.

  • Проверяем что Samba собрана с поддержкой Kerberos:
  • Также проверим что поддерживается LDAP
  • Для корректной работы Samba в домене Windows 2003 нужны версии MIT Kerberos version >=1.3.1. Проверим:
  • Для корректной работы с Windows 2008 серверами сама Samba должна быть достаточно свежая:
  • Устанавливаем сервер и клиент samba.

При настройке krb5-config лучше указывать IP адреса контроллеров домена, а не их DNS имена.

  • Для подключения к домену Active Directory удобно использовать утилиту Likewise-Open.
  • Для администрирования Samba удобно использовать SWAT или webmin, которые предоставляют веб интерфейс. Попасть на него можно по адресу http://server_address:901 и https://server_address:10000 соответственно, указав для соединения пользователя root. Но будьте осторожны — он полностью переписывает smb.conf и некоторые параметры может просто игнорировать. Лучше предварительно сделать резервную копию файла. Я сначала использовал SWAT, а затем дорабатывал конфигурационный файл /etc/samba/smb.conf руками. Вот, что осталось у меня не закоментированным (принтеры к этому серверу не подключены):

Мы описали два общих каталога:

  • backup — доступ имеют только пользователи входящие в группу BackupGroup в Active Directory. Они могут создавать и удалять файлы/каталоги
  • distrib — доступ имеют все пользователи входящие в группу DistribGroup в Active Directory

В приведённой конфигурации подразумевается, что eth0 — это сетевой интерфейс в локальную сеть, где домен имеет полное имя WORKGROUP.DOMAIN.LOCAL

  • редактируем /etc/nsswitch:
  • Проверим, что в /etc/hosts есть корректная запись для нашего сервера, также можно добавить записи для контроллеров доменов:
  • Удаляем если есть (или переносим в резервные копии) файл /etc/samba/secrets.tdb и все файлы из /var/lib/samba/*.tdb
  • Проверяем конфигурацию (не обязательно):
  1. testparm -s

В Ubunto testparm находится в пакете samba-common-bin

  • Проверим как Samba-3 winbind общается с контроллером домена Active Directory посредством протокола Kerberos:

На рассхождение времени в секундах указывает строка «Server time offset: -5». Обратите внимание, что протокол Kerberos зависим от времени, и расхождение с часами контроллера домена допускается лишь незначительное, поэтому желательно настроить NTP клиент (см. статьи по настройке NTP). В Ubuntu это указывается в файле /etc/default/ntpdate:

  • В Debian (и его сыновьях, таких как Ubuntu и внуках вроде Linux Mint) при установке пакета krb5-cofig сразу предлагается его настройка. Лучше всего попробовать работать с этими настройками, но если ничего предложено не было или мы хотим что-то изменить, то редактируем /etc/krb5.conf (я для более стабильной работы использовал ip адреса вместо имён серверов):
  • Проверим работает ли Kerberos, постараемся получить билет и просмотреть его:
  • Удалим полученный билет:
  • Присоединяемся к домену:

Всё, компьютер включен в домен, что можно проверить на контроллере. Даже если после приведённых строк получили следующие:

  • Для удобства отладки сделаем ссылку на каталог журналов:
  • Запускаем samba и winbind:
  • Для проверки правильно ли подключение к домену можно посмотреть список пользователей и групп домена (не обязательно):

Если нас не понимают, то подсказываем пароль для wbinfo и смотрим: список доменов в сети, информацию о домене WORKGROUP, список пользователей и групп домена:

  • Проверяем, как работает NSS. Команда getent показывает инфо о пользователе, который может быть как в домене, так и юниксовый:
  • Теперь можно использовать ресурсы на линукс-сервере, на которые мы дали доступ, как обычные доменные ресурсы.
  • Можно также сопоставить (но это не обязательно) локальные учётные данные и из домена Windows. Для сопоставления пользователей редактируем файл /etc/samba/smbusers.conf:
  • для сопоставления (мапирования от англ. Map) групп домена и групп UNIX выполняем:
  • После того как всё отлажено, можно понизить уровень записи в журнал до «1». В /etc/samba/smb.conf:

Начиная с этих версий параметры авторизации у MS поменялись. Скорее всего Samba вскоре это учтёт, а пока подружить системы можно изменив на Win7 свойства сетевой безопасности:

Пуск — Панель управления — Администрирование — Локальная политика безопасности — Локальные политики — Параметры безопасности

  • Сетевая безопасность: минимальная сеансовая безопасность для клиентов на базе NTLM SSP — убрать галочку с «Требовать 128-битное шифрование». Таких параметра два — выполнить для обоих
  • Сетевая безопасность: уровень проверки подлинности LAN Manager — выбрать в списке пункт «Отправлять LM- и NTML-ответы»

Winbind не запускается

При запуске Samba обнаруживаем, что winbind не запустился:

В журнале log.winbindd обнаруживаем запись:

Видим, что добавлен «встроенный домен» (BUILTIN) и домен «название компьютера» (STORAGE), подключиться к домену AD не удалось.

Решение: Переподключить компьютер в домен. Удалять придётся с самого контроллера, т.к. комадна net ads leave скорее всего не поможет.

Ошибка получения билета Kerberos

При попытке получить билет Kerberos получили:

Решение: указать имя домена в другом регистре. Скорее всего нужны все заглавные

Information Security Squad

stay tune stay secure

Как присоединиться или аутентифицировать Linux Server в Windows Active Directory

Информация о настройке

Итак, у нас есть приведенная ниже настройка полного доменного имени Windows, которую мы должны аутентифицировать на наших серверах Linux.

Существует три способа аутентификации системы Linux с помощью AD.

  • Использование samba и krb5
  • Использование adcli с krb5 и sssd
  • Использование realmd с krb5 и sssd

Метод 1 — Использование SAMBA и krb5

Установите необходимые пакеты

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/samba/smb.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

Файл конфигурации — /etc/samba/smb.conf:

Файл конфигурации — /etc/resolv.conf:

Присоединение к домену AD

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

Тестирование

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

Ниже приведен пример вывода вышеуказанной команды.

Проверьте, получен ли временный билет от AD:

Выполните klist, чтобы проверить тикет.

Пример вывода выглядит следующим образом:

Внесите постоянные изменения

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

Теперь напрямую войдите под учетной записью AD.

Способ 2 — Использование adcli с krb5 и sssd

Установите необходимые пакеты

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

Читать еще:  Post install linux

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

Файл конфигурации — /etc/sssd/sssd.conf:

Файл конфигурации — /etc/resolv.conf:

Присоединение к домену AD

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

Тестирование

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

Проверьте, получен ли временный билет от AD

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

Внесите постоянные изменения

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

Метод 3 — Использование realmd с krb5 и sssd (только для CentOS / RHEL 7)

Примечание: это поддерживается только в CentOS / RHEL7.

Установите необходимые пакеты

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

realmd
krb5-workstation
oddjob # Needed for creating auto home directory for domain users (Installed by default)
oddjob-mkhomedir
authconfig(Installed by default with realmd)
sssd (Installed by default with realmd)

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

Файл конфигурации — /etc/sssd/sssd.conf:

Файл конфигурации — /etc/resolv.conf:

Присоединение к домену AD

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

Тестирование

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

Проверьте, получен ли временный билет от AD

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

Внесите постоянные изменения

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

Теперь напрямую войдите с учетной записью AD.

[Active Directory] Ubuntu в домене Windows AD

Некоторое время назад на работе достался мне для работы ноутбук HP ProBook 6460b. Ну и пришла в голову идея поставить на него вместо надоевшей Windows 7 Pro давно понравившуюся мне Ubuntu 14.04 Trusty LTS. Выбор операционной системы связан с тем, что Ubuntu я использую на домашнем ноутбуке и мне захотелось иметь такую же систему на рабочем компьютере. Потому, что постоянное переключение между ОСями дома и на работе быстро надоело мне и я решился на установку Ubuntu на рабочем ноуте.

Начну по порядку

Процесс установки Убунты на ноутбук не буду пересказывать потому, что не вижу в этом смысла из-за большого количества таких мануалов на просторах интернета. Скажу только то, что устанавливал с флешки, а образ на флешку писал на рабочем ноутбуке под Windows 7 Pro с помощью программы Rufus. Хватит про установку, перейдем к процессу введения в домен.
При вводе в домен Windows я пользовался стандартной инструкцией по вводу в домен. В процессе ввода в домен возникали проблемы самого разного характера (в основном связанные с моей невнимательностью и легкой кривизной рук 🙂 ). Да инструкция на русском языке есть и она довольно хороша, но я все же пользовался не только этой инструкцией, но и другими подсказками с прочих сайтов и форумов. Поэтому я решил собрать из всех одну свою.

Первое что необходимо сделать это — правильно и вполне логично! — обновиться:

Далее нас потребуется установить клиенты Kerberos , Samba и Winbind для нормальной и адекватной работы в домене Windows . Сделать это можно одной командой:

Лично я пробовал два варианта установки: первый — как указано выше — установка всех необходимых пакетов одной строкой, и второй — установка каждого паке в отдельности. Честно признаюсь, что меня больше устроил и больше понравился вариант отдельной установки каждого пакета. Поясню это тем, что при комплексной установке у меня начальная настройка пакета Kerberos не происходила, и я решил (точнее не решил, а мне пришлось из-за кривизны рук и невнимательности переустанавливать полностью Ubuntu и соответственно все необходимые пакеты) ставить все пакеты по отдельности в вышеуказанном порядке. Это дало свои плоды. На этапе установки пакеты Kerberos произошла его полная настройка где указывались все необходимые параметры для работы в домене (собственно сам домен, необходимые для авторизации DC , рабочие группы или зоны). Далее я поставил Самбу и Винбинд с которыми каких-либо заморочек не было. Так же я установил указанные желательными библиотеки libpam-krb5 , libpam-winbind и libnss-winbind . Их я устанавливал одной командой, т.к. они не требуют никаких ручных настроек и просто желательно их присутствие в системе.

Для простоты и дальнейшей ясности процесса будем считать нашим доменом по умолчанию DOMAIN.RU , доменконтроллером которого будет first.domain.ru с ip-адресом 192.168.1.2 . Он же будет нашим первичным DNS сервером домена. Коме того представим в нашем домене еще один доменконтроллер second.domain.ru с ip-адресом 192.168.1.3 . Ну и компьютер наш будет называться work-ubuntu .

Настройка DNS

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

В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head . Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf . Если IP-адрес динамический и присваивается DHCP сервером то после перезагрузки resolv.conf может формироваться “неправильный” resolv.conf , например присутствует только один nameserver 192.168.1.1 и не указаны domain и search . Нужно отредактировать /etc/dhcp/dhclient.conf . Чтобы появились записи domain и search нужно убрать комментарий перед строкой supersede domain-name , и вписать свой домен:

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

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

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

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

Не обязательно конечно, но как говорится в инструкции “желательно” при внесении каких-либо изменений делать перезагрузку. Лично я так и делал.

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

Тут собственно говоря ничего сложного! Я просто единожды выполнил команду:

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

Собственно переходим к самому основному: настройка авторизации через Kerberos

Настройка авторизации по протоколу Kerberos осуществляется простым редактированием файла /etc/krb5.conf . Вот примерный его вид:

Вы естественно указываете вместо DOMAIN.RU и first свои домен и контроллер домена. Особое внимание обращаю на соблюдение регистра — все что написано в верхнем регистре пишется в верхнем регистре!

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

Вместо vasya и DOMAIN.RU вы так же указываете свои имя пользователя и домен. Команда так же регистрозависима! Если вы после выполнения данной команды получаете завпрос на ввод пароля от указанного пользователя и не получаете никаких ошибок, значит у вас все прекрасно. В противном случае еще раз перепроверьте все измененные вами файлы на правильность (внимательно изменяйте все ваши файлы).

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

Будем считать, что авторизация вы настроили и билет получен. Теперь настроим вход в домен.

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

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

Теперь необходимо проверить внесенные изменения на правильность (точнее себя на внимательность и руки на кривость 🙂 ) следующей командой:

В случае правильного изменения файла /etc/samba/smb.conf вы увидите примерно следующее:

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

В случае успешного входа вы увидите на экране примерно следующее:

Я снова не стану описывать все возможные ошибки, потому что и ежу понятно, что если появились ошибки значит ты сделал что-то не так. Поэтому скажу только одно: RTFM friend!

На данном этапе вы можете установить себе smbclient :

и проверить доступность ресурсов, хотя бы, на доменконтроллере:

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

Переходим к настройке Winbin

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

Читать еще:  Не удалось восстановить айфон ошибка 9

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

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

Строки с параметрами idmap config указаны с новыми параметрами не характерными для старых версий Samba, поэтому на данном этапе будьте внимательнее. Старый формат этих строк можно посмотреть в официальной инструкции по вводу в домен.

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

Смотрим есть ли ошибки или предупреждения, если появится: rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) , то отредактировать файл /etc/security/limits.conf :

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

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

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

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

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

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

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

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

Так же рекомендую привести строку hosts: в файле /etc/nsswitch.conf к виду:

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

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

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

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

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

Для он-лайн авторизации я лично подредактировал парочку файлов. Первый файл, который я редактировал это /etc/pam.d/common-session и добавил в него всего одну строчку:

Вторым был файлик /etc/lightdm/user.conf . В него необходимо добавить строчку в самый конец файла:

На этом собственно говоря все готово! Перезагружаемся и входим под учетной записью доменного пользователя.

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

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

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

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

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

На этом вроде бы все 🙂

Вместо заключения

После всех проделанных операций наша машина на Ubuntu стала полноценным членом домена Windows и теперь с ней могу работать пользователи AD .

Было мягко говоря не легко. Тяжело было собрать информацию, относящуюся именно к моей Ubuntu 14.04 Trusty LTS .

TIME 404 Авторский блог

В предыдущем посте я уже описывал процедуру поднятия контроллера доменов с помощью Samba4 на базе UBUNTU-Server. Теперь попытаемся создать ему пару, точнее зарезервировать основной контроллер. А то мало ли…

Я наивно предполагал, что по аналогии с майкрософт-сервером создать резервный DC будет проще чем основной, однако будущее показало, как я ошибался… Для начала, как и в первом случае, в рунете практически отсутствует стопроцентно готовое решение, точнее решения вроде как есть, но если сравнить все варианты, а потом попытаться реализовать один из них, то почему-то это не хочет работать… А на забугорных сайтах больше информации о том как создавать именно основной сервер DC. Поэтому грабим берем что есть у других коллег на сайтах, читаем мануалы Самбы, собираем все в кучу тестируем на своей шкуре… За основу берем предыдущую статью, тупо копипастим часть информации и местами ее модифицируем ))

И так, как и в прошлый раз, у нас все будет базироваться на Ubuntu-Server 16.04.4

Данные для будущего сервера:

  • IP адрес сервера: 192.168.55.12/24
  • Шлюз в сети: 192.168.55.1
  • DNS: 192.168.55.11, 192.168.55.1
  • Доменное имя: DOMAIN.NAME
  • Имя сервера: ad2

Настроим сетевую карту, но сперва узнаем, как она обзывается в системе командой ifconfig -a:

в нашем случае это ens160, далее правим файл настроек sudo nano /etc/network/interfaces , нужно чтоб выглядело вот так:

Следом нужно просмотреть файл fstab командой: sudo nano /etc/fstab , для проверки активации ACL. Если такое отсутствует, то нужно дописать acl:

И перезагружаем наш сервер: sudo reboot

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

Обновляем все что можно:

  • sudo apt-get update && sudo apt-get upgrade
  • sudo apt-get dist-upgrade

Задаем имя нашего сервера в будущем домене:

Можно проверить или скорректировать, открыв файл /etc/hostname:

Устанавливаем необходимые нам пакеты, в отличии от первого случая, на понадобится еще одно приложение:

В процессе установки Kerberos, система задаст несколько вопросов чтоб настроить контроллер домена :

  1. Default Kerberos version 5 realm : DOMAIN.NAME (!!большими буквами)
  2. Kerberos servers for your realm: domain.name
  3. Administrative server for your Kerberos realm: domain.name

После окончания установки удаляем стандартный конфигурационный файл Samba, т.к. в процессе предоставления домена, Самба создаст новый conf-файл и если не удалить, то выкинет с ошибкой. Хотя, лучше не удалять, а просто переименовать:

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

Устанавливаем sudo apt-get install ntp ntpdate

Далее правим config-файл службы: sudo nano /etc/ntp.conf

  • Следующий момент — тут по желанию, однако я поменял в блоке серверов NTP серверы точного времени с дефолтных на родные, российские…
  • И после строк:
  • # Needed for adding pool entries
    restrict source notrap nomodify noquery

Тестируем работу NTP:

Убеждаемся, что наша служба синхронизации времени работает как положено.

Вводим сервер в наш домен:

В процессе система попросит ввести пароль администратора домена, который мы задавали в прошлый раз… Пишем его и снова жмем Enter.

После ввода сервера в домен, открываем conf-файл Самбы: sudo nano /etc/samba/smb.conf и в блоке [global] приписываем строчку: idmap_ldb:use rfc2307 = yes

Командой named -v определяем версию службы bind9, в моем случае: BIND 9.10.3-P4-Ubuntu

Редактируем файл sudo nano /var/lib/samba/private/named.conf и в нем открываем строку с нужной нам версией… если открыта другая, соответственно закрываем ее:

Настраиваем bind дальше: sudo nano /etc/bind/named.conf и в самом конце пишем строку include «/var/lib/samba/private/named.conf»;

sudo nano /etc/bind/named.conf.options после символа >; дописываем tkey-gssapi-keytab «/var/lib/samba/private/dns.keytab»;

Честно говоря, вот все эти манипуляции с bind мне не совсем понятны… По большому счету, оно и не особо нам нужно, тем более, что я не стал использовать его на основном сервере, но «раз пацаны ставят…»… скажем так, на будущее, на вырост..

Возвращаемся к основной теме — вроде все на этом готово, резервный контроллер AD готов, но как всегда есть «но»… Но, в отличии от «винды глюкавой», здесь при добавлении второго контроллера, Samba не создает записи о нем в DNS, поэтому ручками, батенька, ручками… А иначе никто о нем не узнает и нафига он такой вообще будет нужен…

Возвращаемся к нашему первому основному серверу, ad1 и следующие манипуляции выполняем на нем…

Для начала установим программу ldb-tools, она на пригодится позже: sudo apt-get install ldb-tools

Теперь будем добавлять запись о втором сервере в зону А:

sudo samba-tool dns add 192.168.55.11 domain.name ad2 A 192.168.55.12 -UAdministrator

С помощью установленного выше пакета, узнаем objectGUID сервера ad2:

sudo ldbsearch -H /var/lib/samba/private/sam.ldb ‘(invocationid=*)’ —cross-ncs objectguid

В ответ получаем:

Где bcdb5c30-a0ee-4fb7-ba0e-5c46d7e61baf наши искомые данные

Добавляем CNAME запись:

sudo samba-tool dns add 192.168.55.11 _msdcs.domain.name bcdb5c30-a0ee-4fb7-ba0e-5c46d7e61baf CNAME ad2.domain.name -UAdministrator

Проверяем все через sudo nslookup

Перезапускаем сервер, а лучше оба… оно никогда лишним не будет.. На этом создание вторичного контроллера AD закончено.

Но это же линукс и на этом история не может закончится так просто… В конце нашей трилогии мы узнаем, какие еще сюрпризы могут быть…

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector