Подключение к домену ubuntu
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
- Проверяем конфигурацию (не обязательно):
- 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 получили:
Решение: указать имя домена в другом регистре. Скорее всего нужны все заглавные
[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 как дополнительный источник информации о пользователях и группах.
Для этого измените две строчки в файле /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 .
Включаем Ubuntu в состав домена Windows
Встала задача подключить ноутбук с ОС Ubuntu к домену Windows. Если в ОС Windows это сделать проще простого, то в линуксе нужно проделать небольшие манипуляции.
И так, для примера привожу нужную для дальнейшего мануала информацию:
- Компьютер-сервер с ОС Windows Server 2008 R2:
- Имя: Server2008R2
- Домен: myserver.com
- Роль: контроллер домена ActiveDirectory, DNS-сервер
- IP-адрес: 172.17.1.3
- Маска сети: 255.255.255.0
- Шлюз: 172.17.1.1
- Виртуальная машина с ОС Windows Server 2008 R2:
- Имя: FileServer
- Домен: myserver.com
- Роль: вторичный контроллер домена ActiveDirectory с настроенной реплекацией
- IP-адрес: 172.17.1.6
- Маска сети: 255.255.255.0
- Шлюз: 172.17.1.1
- Ноутбук с ОС Ubuntu 11.04:
- Имя: LaptopUbuntu
- Сетевые настройки: через DHCP (получает от роутера с IP-адресом 172.17.1.1)
Т.к. нашей задачей является подключить ноутбук к домену mydomain.com, то необходимо проделать следующие действия:
sudo apt-get install krb5-user ntp samba winbind
krb5-user — пакет для протокола Kerberos, который используется для аутентификации в Windows;
ntp — позволяет синхронизировать время в контроллером домена;
samba — позволяет стать членом домена;
winbind — позволяет использовать учетную запись пользователя из ActiveDirectory.
Теперь перейдем непосредственно к настройкам:
sudo gedit /etc/resolv.conf
Изменить содержимое на следующее:
domain myserver.com
search myserver.com
nameserver 172.17.1.3
Задаем нужное имя ноутбука (LaptopUbuntu) в следующем файле:
sudo gedit /etc/hostname
sudo gedit /etc/hostname
Меняем так, чтобы было (секцию IPv6 не трогаем):
127.0.0.1 localhost
172.17.1.2 LaptopUbuntu.myserver.com LaptopUbuntu
Теперь для применения изменений необходимо перезагрузить ноутбук. После перезагрузки у меня, почему-то, все отредактированные выше файлы сбросились в первоначальное содержимое. Немного подумав, я понял, что виноват тому значащийся в сетевых настройках включенный DHCP. Через Network Manager я отключил DHCP, выбрал пункт «ручная настройка», а затем опять проделал то, что написано выше. Хотя, часть значений параметров можно вписать через все тот же Network Manager.
Открываем следующий файл:
sudo gedit /etc/ntp.conf
и вписываем в него следующее:
sudo /etc/init.d/ntp restart
Далее приступим к настройке Kerberos. Редактируем файл:
sudo gedit /etc/krb5.conf
Заполняем его следующей информацией:
[libdefaults]
default_realm = MYSERVER.COM
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
MYSERVER.COM = <
kdc = SERVER2008R2
kdc = FILESERVER
admin_server = SERVER2008R2
default_domain = MYSERVER.COM
>
[domain_realm]
.domain.com = MYSERVER.COM
domain.com = MYSERVER.COM
[login]
krb4_convert = false
krb4_get_tickets = false
Теперь настраиваем Samba:
sudo gedit /etc/samba/smb.conf
Приводим секцию [global] к следующему содержанию:
workgroup = MYSERVER.COM
realm = MYSERVER.COM
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
Для проверки правильности заполнения конфигурационного файла Samba, можно выполнить команду testparm, которая выведет информацию о том, что в конфигурации ошибок нет, либо они есть.
Теперь перейдем к настройке Winbind, если мы хотим использовать учетные записи из ActiveDirectory у себя на ноутбуке.
Опять редактируем файл:
sudo gedit /etc/samba/smb.conf
И в секцию [global] добавляем:
idmap uid = 10000 — 40000
idmap gid = 10000 — 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 1440
После чего необходимо перезапустить демоны:
sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start
Далее идем и редактируем следующий файл:
sudo gedit /etc/nsswitch.conf
Добавляем в конец строк passwd и group слово winbind, т.е. файл должнен выглядеть так:
passwd: compat winbind
group: compat winbind
И самое последнее: в файл /etc/pam.d/common-session добавить следующую строчку:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
Демонстрация всего того, что описано выше, будет в одной из следующих заметок.
ColumbianX
Все что может понадобиться IT Специалисту
вторник, 13 ноября 2012 г.
Вводим Ubuntu в домен Active Directory вручную
Вводим Ubuntu в домен Active Directory вручную
Вводим в домен Active Directory c именем MYDOMAIN.COM компьютер с именем MYUBUNTU.
Имя сервера контроллера домена – dc1.mydomain.com, IP-адрес – 192.168.0.100.
Имя копии сервера контроллера домена – dc2.mydomain.com, IP-адрес – 192.168.0.101.
IP-адрес DNS сервера 192.168.0.10
IP-адрес второго DNS сервера 192.168.0.11
Для ввода ОС Ubuntu в домен Windows нам необходимо установить клиент Kerberos, Samba и Winbind.
Для этого вводим в окно терминала следующие команды:
sudo apt-get update
sudo apt-get install krb5-user winbind samba
Первым делом изменяем настройки DNS на нашем компьютере, прописав в качестве DNS IP-адрес вашего сервера DNS (или IP-адреса всех ваших серверов DNS, если у вас их несколько). В качестве домена поиска указываем наш домен.
Для этого правим содержимое файла /etc/resolv.conf командой sudo gedit /etc/resolv.conf. Вписываем в него следующие значения:
domain mydomain.com
search mydomain.com
nameserver 192.168.0.10
nameserver 192.168.0.11
Теперь вводим имя нашего компьютера в файле /etc/hostname (sudo gedit /etc/hostname):
Далее редактируем файл /etc/hosts (sudo gedit /etc/hosts) таким образом, чтобы в нём была запись с полным доменным именем компьютера и обязательно коротким именем хоста, ссылающаяся на один из внутренних IP:
127.0.0.1 localhost
127.0.1.1 MYUBUNTU.mydomain.com MYUBUNTU
После выполнения всех вышеперечисленных действий перезагружаем компьютер и авторизуемся под именем пользователя, которого мы завели при установке операционной системы.
Следующим действием будет настройка синхронизации времени нашего компьютера с сервером контроллера домена.
Синхронизацию будем настраивать с помощью демона ntpd, который будет периодически выполнять синхронизацию.
Ставим демон ntpd: sudo apt-get install ntp
Далее правим файл /etc/ntp.conf (sudo gedit /etc/ntp.conf):
# You do need to talk to an NTP server or two (or three).
server dc1.mydomain.com
Закрываем окно редактирования и перезапускаем демон ntpd: sudo /etc/init.d/ntp restart
Подготовительные работы проведены, переходим к настройке взаимодействия с доменом.
Правим файл /etc/krb5.conf (sudo gedit /etc/krb5.conf), в котором находятся настройки авторизации в домене через протокол Kerberos.
Можете взять мой файл – krb5.conf и заменить содержимое вашего файла содержимым моего файла. Не забудьте изменить mydomain.com на имя вашего домена и dc1, и dc2 на имена ваших серверов контроллеров домена.
Для проверки того, что мы можем пройти авторизацию в домене выполняем команду: kinit username@MYDOMAIN.COM
Имя нашего домена необходимо писать заглавными буквами. Вместо username необходимо ввести имя одного из реальных пользователей домена.
Если после выполнения команды мы не получаем никаких сообщений об ошибке, значит, все настройки выполнены верно.
Проверяем, что домен выдает нам билет Kerberos командой klist. Удалить все выданные билеты можно командой kdestroy.
Для входа в домен правим настройки файла /etc/samba/smb.conf (sudo gedit /etc/samba/smb.conf).
Можете взять мой файл – smb.conf и заменить содержимое вашего файла содержимым моего файла. Не забудьте изменить mydomain.com на имя вашего домена. Там, где MYDOMAIN написан заглавными буквами – вы вписываете название вашего домена заглавными буквами, соответственно там, где mydomain написан маленькими буквами – пишете маленькими.
После редактирования smb.conf сохраняем файл и выполните команду в терминале testparm.
Эта команда проверяет ваш конфигурационный файл smb.conf на ошибки и выдает информацию о нём:
# 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
Вы увидите приведенное выше сообщение, если все сделали правильно.
Теперь входим в домен. Вводим команду sudo net ads join -U username -D MYDOMAIN
Вместо username вводим имя администратора домена, вместо MYDOMAIN вводим имя вашего домена. Жмем Enter. Система попросит ввести пароль пользователя, которого вы указали в username. В случае удачного входа вы сможете увидеть следующее сообщение:
# net ads join -U username -D MYDOMAIN
Enter username’s password:
Using short domain name — MYDOMAIN
Joined ‘UBUNTU’ to realm ‘mydomain.com’
Поздравляю, вы ввели ваш компьютер в домен!
У меня после включения компьютера в домен выводится ошибка: DNS update failed!
В этом случае необходимо удалить компьютер из домена и повторить все шаги по настройке снова.
Если вы все сделали заново и уверены, что ошибки нет, а DNS всё равно не обновляется, то внесите вручную запись для вашего компьютера на ваш DNS сервер и всё будет работать.
Если вы хотите видеть пользователей домена на своём компьютере с Ubuntu, то вам необходимо настроить демон Winbind. Этот демон необходим для связи локальной системы управления пользователями и группами Linux с сервером Active Directory.
Winbind позволяет спроецировать всех пользователей и все группы AD в вашу Linux систему, присвоив им ID из заданного диапазона. Таким образом вы сможете назначать пользователей домена владельцами папок и файлов на вашем компьютере и выполнять любые другие операции, завязанные на пользователей и группы.
Для настройки Winbind правим файл /etc/samba/smb.conf (sudo gedit /etc/samba/smb.conf). Добавляем следующие строки с секцию [global]:
template shell = /bin/bash
idmap uid = 10000 — 40000
idmap gid = 10000 — 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind nested groups = Yes
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 1440
unix extensions = no
Сохраняем файл smb.conf и выполняем следующие команды:
sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start
Проверяем, что Winbind “видит” пользователей и группы из Active Directory c помощью команд:
wbinfo -u
wbinfo -g
Для того, чтобы мы могли назначать пользователей домена владельцами папок и файлов, необходимо указать Ubuntu использовать Winbind как дополнительный источник информации о пользователях и группах.
Меняем в файле /etc/nsswitch.conf (sudo gedit /etc/nsswitch.conf):
passwd: compat
group: compat
passwd: compat winbind
group: compat winbind
Для того, чтобы пользователи домена авторизовывались на компьютере с Ubuntu необходимо настроить PAM на работу с Winbind.
Меняем содержимое файла /etc/pam.d/common-session (sudo gedit /etc/pam.d/common-session) путем добавления в конец файла следующей записи:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
Последним действием переносим запуск Winbind при загрузке системы после всех остальных служб. Выполняем следующие команды:
sudo mv /etc/rc2.d/S20winbind /etc/rc2.d/S99winbind
sudo mv /etc/rc3.d/S20winbind /etc/rc3.d/S99winbind
sudo mv /etc/rc4.d/S20winbind /etc/rc4.d/S99winbind
sudo mv /etc/rc5.d/S20winbind /etc/rc5.d/S99winbind
Поздравляю! Мы закончили настройку системы для входа пользователей домена на компьютер с Ubuntu. Перегружаемся и пробуем войти в систему под какой либо учетной записью пользователя домена.
Далее рассмотрим подключение сетевых ресурсов для пользователей домена.
Добавление Ubuntu в домен Windows (AD)
Добавление Ubuntu в домен Windows (AD)
- alex
- 19.12.2015
- Сервисы Ubuntu
- 0 комментариев
На самом деле добавить Ubuntu в AD можно двумя способами вручную или с помощью domainjoin-gui
Добавление вручную
Общие настройки
Первое, что мы делаем обновляем пакеты командами:
Затем установим основные команды
Настройка сети и DNS
1. Необходимо отредактировать файлик hosts
2. Настройки сети локальной машины.
- Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:
Если редактировали файл /etc/resl.conf на прямую, то после перезагрузки сервера все данные пропадут. Чтобы данные сохранялись нужно отредактировать /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf
- Если IP динамический, полученный по DHCP, то:
Перезапускаем компьютер командой:
После перезагрузки проверим доступность сервера командой пинг
Настройка синхронизации времени
Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:
Если в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:
Автоматическая же синхронизация настраивается с помощью ntpd, это демон будет периодически выполнять синхронизацию. Для начала его необходимо установить:
Теперь исправьте файл /etc/ntp.conf, добавив в него информацию о вашем сервере времени:
После чего перезапустите демон ntpd:
Настройка авторизации через Kerberos
Прежде чем редактировать конфигурационный файл, сохраним его резервную копию
Редактируем новый файл /etc/krb5.conf. Делаем точно так же как и на представленном конфиге!
GNU nano 2.2.6 Файл: /etc/krb5.conf
[libdefaults]
default_realm = STUDY.LOCAL
# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1
# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1
# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = <
host = <
rcmd = host
ftp = ftp
>
plain = <
something = something-else
>
>
fcc-mit-ticketflags = true
[realms]
STUDY.LOCAL = <
kdc = dc1.STUDY.LOCAL
admin_server = dc1.STUDY.LOCAL
default_domain = STUDY.LOCAL
>
[domain_realm]
.opc.local = STUDY.LOCAL
opc.local = STUDY.LOCAL
[login]
krb4_convert = false
krb4_get_tickets = false
Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду
Если не выдал ошибок, значит все получилось
Теперь проверим полученный билет
Удалить все билеты
Настройка Samba и вход в домен
Сохраним конфигурационный файл samba
Редактируем новый файл
[global]
workgroup = STUDY
realm = STUDY.LOCAL
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 выполните команду
Результат должен быть такой
Настройка Winbind
[global]
workgroup = STUDY
realm = STUDY.LOCAL
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
#winbind
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 300
Теперь перезапустите демон Winbind и Samba в следующем порядке:
Смотрим есть ли ошибки или предупреждения, если появится:
Без перезагрузки можно устранить так:
Для сохранения после перезагрузки отредактировать файл /etc/security/limits.conf
После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой:
А так же, что Winbind увидел пользователей и группы из AD командами:
Добавление Winbind в качестве источника пользователей и групп
Для этого измените две строчки в файле /etc/nsswitch.conf:
добавив к ним в конец winbind:
также рекомендую привести строку files в файле /etc/nsswitch.conf к виду:
Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив
Авторизация в Ubuntu через пользователей домена
Для Ubuntu 10.04 и выше добавьте всего одну строку в файле /etc/pam.d/common-session, т.к. PAM и так неплохо справляется с авторизацией:
Вход в систему
Редактируем файл /usr/share/lightdm/ lightdm.conf.d /50 -ubuntu.conf
Сохраняемся и перезапускаем машину
После перезагрузки нажимаем войти и вводим
Все вы в доменной учетной записи.
Добавление с помощью domainjoin-gui
Предварительная настройка
Необходимо отредактировать файлик hosts
Скачиваем необходимые пакеты. Пакеты скачиваем по необхдимости (в зависимости от архитектуры)
Устанавливаем скаченные пакеты
- dpkg -i likewise-open-gui_6.1.0.406-0ubuntu5.1_amd64.deb
- dpkg -i libglade2-0_2.6.4-2_amd64.deb
- dpkg -i likewise-open-gui_6.1.0.406-0ubuntu5.1_amd64.deb
В случает если появляются ошибки, то запускаем команду
apt-get insall -f
Затем повторяем установку dpkg
После установки запускаем
Вводим имя компьютера (к которому подключаемся),домен, пользователя и пароль(Доменный Администратор или администратор) и нажимаем