На самом деле добавить Ubuntu в AD можно двумя способами вручную или с помощью domainjoin-gui
Добавление вручную
Общие настройки
Первое, что мы делаем обновляем пакеты командами:
apt-get update
apt-get upgradeЗатем установим основные команды
apt-get install install krb5-user samba winbind apt-get install libpam-krb5 libpam-winbind libnss-winbindНастройка сети и DNS
- Необходимо отредактировать файлик hosts
nano /etc/hosts 192.168.0.5 ub.study.local ub #Имя локальной машины 192.168.0.2 dc1.study.local dc1 #Пример ip сервера, прописать обязательно!- Настройки сети локальной машины.
- Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:
domain study.local
search study.local nameserver 192.168.0.1 #IP Вашего шлюза
nameserver 192.168.0.2 #IP Вашего сервера Если редактировали файл /etc/resl.conf на прямую, то после перезагрузки сервера все данные пропадут. Чтобы данные сохранялись нужно отредактировать /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf
-
Если IP динамический, полученный по DHCP, то:
редактируем /etc/dhcp/dhclient.conf
nano /etc/dhcp/dhclient.conf редактируем строки supersede domain-name "study.local dc1.study.local";
prepend domain-name-servers 192.168.0.2;Перезапускаем компьютер командой:
reboot После перезагрузки проверим доступность сервера командой пинг
ping dc1
ping dc1.study.localНастройка синхронизации времени
Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:
sudo net time set dcЕсли в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:
ntpdate ntp2.stratum2.ruАвтоматическая же синхронизация настраивается с помощью ntpd, это демон будет периодически выполнять синхронизацию. Для начала его необходимо установить:
sudo apt-get install ntpТеперь исправьте файл /etc/ntp.conf, добавив в него информацию о вашем сервере времени:
# You do need to talk to an NTP server or two (or three).
server dc1.study.localПосле чего перезапустите демон ntpd:
sudo /etc/init.d/ntp restartНастройка авторизации через Kerberos
Прежде чем редактировать конфигурационный файл, сохраним его резервную копию
mv /etc/krb5.conf /etc/krb5.conf.oldРедактируем новый файл /etc/krb5.conf. Делаем точно так же как и на представленном конфиге!
nano /etc/krb5.confGNU 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 }ini[domain_realm] .opc.local = STUDY.LOCAL opc.local = STUDY.LOCAL [login]krb4_convert = false
krb4_get_tickets = false
Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду
kinit username@STUDY.LOCAL #Например kinit alexey@STUDY.LOCALЕсли не выдал ошибок, значит все получилось
Теперь проверим полученный билет
klistРезультат будет такой
Ticket cache: FILE:/tmp/krb5cc_10000
Default principal: alexey@STUDY.LOCAL
Valid starting Expires Service principal
14.12.2015 10:33:27 14.12.2015 20:33:27 krbtgt/STUDY.LOCAL@STUDY.LOCAL
renew until 15.12.2015 10:33:20Удалить все билеты
kdestroyНастройка Samba и вход в домен
Сохраним конфигурационный файл samba
mv /etc/samba/smb.conf /etc/samba/smb.conf.oldРедактируем новый файл
nano /etc/samba/smb.confini[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 выполните команду
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 definitionsnet ads join -U alexey -D STUDY.LOCA -S dc1, Где alexey и dc1, STUDY.LOCAL, необходимо заменить на свои данные Результат
Enter username's password:
Using short domain name -- STUDY.LOCAL
Joined 'ub' to dns 'study.local'Проверим результат добавления в домен#net ads testjoin
Join is OKНастройка Winbind
Редактируем nano /etc/samba/smb.confini[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 в следующем порядке:
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Добавление Winbind в качестве источника пользователей и групп
Редактируем /etc/nsswitch.conf
nano /etc/nsswitch.confДля этого измените две строчки в файле /etc/nsswitch.conf:
passwd: compat
group: compatдобавив к ним в конец winbind:
passwd: compat winbind
group: compat winbindтакже рекомендую привести строку files в файле /etc/nsswitch.conf к виду:
files: dns mdns4_minimal[NotFoud=return] mdns4Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив
getent passwd
getent group Авторизация в Ubuntu через пользователей домена
Для Ubuntu 10.04 и выше добавьте всего одну строку в файле /etc/pam.d/common-session, т.к. PAM и так неплохо справляется с авторизацией:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077Вход в систему
Редактируем файл /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.confДобавляем
allow-guest=falsegreeter-show-manual-login=trueСохраняемся и перезапускаем машину
rebootПосле перезагрузки нажимаем войти и вводим
Пользователь: STUDY\alexey
Пароль: *********Все вы в доменной учетной записи!!!
Добавление с помощью domainjoin-gui
Предварительная настройка
Необходимо отредактировать файлик hosts
nano /etc/hosts 192.168.0.5 ub.study.local ub #Имя локальной машины 192.168.0.2 dc1.study.local dc1 #Пример ip сервера, прописать обязательно!Скачиваем необходимые пакеты. Пакеты скачиваем по необхдимости (в зависимости от архитектуры)
- http://de.archive.ubuntu.com/ubuntu/pool/main/l/likewise-open/likewise-open_6.1.0.406-0ubuntu5.1_amd64.deb
- http://de.archive.ubuntu.com/ubuntu/pool/main/libg/libglade2/libglade2-0_2.6.4-2_amd64.deb
- http://de.archive.ubuntu.com/ubuntu/pool/universe/l/likewise-open/likewise-open-gui_6.1.0.406-0ubuntu5.1_amd64.deb
Устанавливаем скаченные пакеты
- 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
После установки запускаем
sudo domainjoin-guiВводим имя компьютера (к которому подключаемся),домен, пользователя и пароль(Доменный Администратор или администратор) и нажимаем
Join DomainПерезапускаем машину
rebootДолжно все получиться
Вход в систему
Редактируем файл /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.confДобавляем
allow-guest=falsegreeter-show-manual-login=trueСохраняемся и перезапускаем машину
rebootПосле перезагрузки нажимаем войти и вводим
Пользователь: STUDY\alexey
Пароль: *********Добавляем пользователя sudo
sudo usermod -a -G sudo AD_administrative_user