Ввод Ubuntu Server в домен Windows Server

Тема в разделе "IT-БЕЗОПАСНОСТЬ", создана пользователем Development, 8 мар 2016.

  1. Development

    Development Администратор Команда форума

    Имеем Ubuntu Server 12.04 и контроллер домена Windows Server 2008 R2. Введем сервер Ubuntu в домен Windows.

    Обновимся:
    Код:
     apt-get update
    apt-get upgrade

    Установим нужный софт:
    Код:
    apt-get install krb5-user samba winbind
    Настроим корректно DNS. Допустим на нашем сервере с ubuntu две сетевые карты, одна в мир, другая в локалку.
    В /etc/network/interfaces у интерфейса, который смотрит в мир пропишем днс-сервер провайдера:

    Код:
    iface eth0 inet static
    address 144.16.0.55
    netmask 255.255.255.0
    network 144.16.0.0
    broadcast 144.16.0.255
    gateway 142.16.0.1
    dns-nameservers 12.145.44.1
    Дальше добавим DNS-записи в /etc/resolvconf/resolv.conf.d/head :
    Код:
    domain testdomen.local #наш домен
    search testdomen.local #наш домен
    nameserver 10.0.0.3 #контроллер домена (dns-server)
    Перезапускаем систему подсети:
    Код:
    /etc/init.d/networking restart
    Теперь нужно проверить, пингуется ли наш контроллер по имени. Если да, то идем дальше.

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

    Синхронизируем время с контроллером:
    Код:
    # ntpdate -q 10.0.0.3
    или
    # ntpdate testserver
    Теперь настраиваем авторизацию через Kerberos. Правим /etc/krb5.conf
    Моя конфигурация:
    Код:
    [libdefaults]
    default_realm = TESTDOMEN.LOCALkrb4_config = /etc/krb.conf
    krb4_realms = /etc/krb.realms
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    
    
    v4_instance_resolve = false
    v4_name_convert = {
    host = {
    rcmd = host
    ftp = ftp
    }
    plain = {
    something = something-else
    }
    }
    fcc-mit-ticketflags = true
    
    [realms]
    TESTDOMEN.LOCAL = {
    kdc = 10.0.0.3 #ip контроллера
    admin_server = 10.0.0.3 #ip контроллера
    }
    
    [domain_realm]
    .testdomen.local = TESTDOMEN.LOCAL
    testdomen.local = TESTDOMEN.LOCAL
    
    [login]
    krb4_convert = false
    krb4_get_tickets = false 

    В этих настройках важен регистр написания имени домена.

    Пробуем авторизоваться в домене:
    Код:
    kinit admin@TESTDOMEN.LOCAL
    admin - логин существующего пользователя домена. Отсутствие ошибок означает правильность настройки. Проверим список полученных билетов Kerberos:
    Код:
    klist
    Распространенные ошибки:
    Ошибка kinit(v5): Clock skew too great while getting initial credentials
    Нужно синхронизировать время с контроллером домена командой, написанной вначале статьи. И не важно, что оно совпадает или почти совпадает.

    Ошибка kinit(v5): Preauthentication failed while getting initial credentials
    Введен неправильный пароль юзера.

    Ошибка kinit(v5): KDC reply did not match expectations while getting initial credentials
    Проверить правильность конфига /etc/krb5.conf

    Ошибка kinit(v5): Client not found in Kerberos database while getting initial credentials
    Нет такого пользователя в домене

    Конфигурирование Samba
    Правим конфиг самбы /etc/samba/smb.conf
    Мой конфиг:
    Код:
    [global]
    workgroup = TESTDOMEN
    realm = TESTDOMEN.LOCAL
    server string = %h server (Samba, Ubuntu)
    dns proxy = no
    socket options = TCP_NODELAY
    domain master = no
    local master = no
    preferred master = no
    os level = 0
    domain logons = no#### Debugging/Accounting ####
    
    
    log file = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0
    panic action = /usr/share/samba/panic-action %d
    
    ####### Authentication #######
    security = ADS
    encrypt passwords = true
    passdb backend = tdbsam
    obey pam restrictions = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = yes
    map to guest = bad user
    Настройка Winbind

    Добавляем в /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
    winbind refresh tickets = yes
    Чтобы Ubuntu прозрачно работала с пользователями домена (к примеру, назначение пользователей домена владельцами папок и файлов), нужно указать Ubuntu использовать Winbind как дополнительный источник информации о пользователях и группах. Изменяем в /etc/nsswitch.conf пару строк:
    
    passwd: compat winbind
    group: compat winbind

    Ввод сервера Ubuntu в домен Windows

    Стартуем нужные сервисы:
    Код:
      service smbd start
      service winbind start
      service nmbd start
    Вводим машину в домен:

    #
    Код:
    net ads join -U admin -D TESTDOMEN
    admin - администратор домена

    Всё, ubuntu в домене.

    Рестартуем нужные сервисы:
    Код:
     service smbd restart
      service winbind restart
      service nmbd restart
    Проверяем, может ли ubuntu server получить список юзеров или групп домена:

    Код:
    wbinfo -g
    wbinfo -u 
     
    Последнее редактирование: 8 мар 2016

Поделиться этой страницей