Включаем 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

и вписываем в него следующее:

server Server2008R2.myserver.com

Командой

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

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