Добавление Ubuntu в домен Windows (AD)

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

На самом деле добавить 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 

1. Необходимо отредактировать файлик hosts  

       nano /etc/hosts
       192.168.0.5 ub.study.local ub #Имя локальной машины
       192.168.0.2 dc1.study.local dc1 #Пример ip сервера, прописать обязательно!

2. Настройки сети локальной машины.

  •        Если у вас статический 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.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                      

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

kinit Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. #Например kinit Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Если не выдал ошибок, значит все получилось

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

klist
Результат будет такой
Ticket cache: FILE:/tmp/krb5cc_10000
Default principal: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Valid starting Expires Service principal
14.12.2015 10:33:27 14.12.2015 20:33:27 krbtgt/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
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.conf

[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 definitions
net 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.conf

[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=false
greeter-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 сервера, прописать обязательно!

 Скачиваем необходимые пакеты. Пакеты скачиваем по необхдимости (в зависимости от архитектуры)

Устанавливаем скаченные пакеты

  • 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=false
greeter-show-manual-login=true

Сохраняемся и перезапускаем машину

reboot

После перезагрузки нажимаем войти и вводим

Пользователь: STUDY\alexey
Пароль: *********

 Добавляем пользователя sudo

sudo usermod -a -G sudo AD_administrative_user
mmgp mfxbroker

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

Защитный код
Обновить