Как присоединиться или аутентифицировать Linux Server в Windows Active Directory |

Как присоединиться или аутентифицировать Linux Server в Windows Active Directory

Мануал

Информация о настройке

Итак, у нас есть приведенная ниже настройка полного доменного имени Windows, которую мы должны аутентифицировать на наших серверах Linux.

DOMAIN = WINAD.LOCAL
AD FQDN = adsrv.winad.local

Существует три способа аутентификации системы Linux с помощью AD.

  • Использование samba и krb5
  • Использование adcli с krb5 и sssd
  • Использование realmd с krb5 и sssd

Метод 1 – Использование SAMBA и krb5

Установите необходимые пакеты

Обязательные пакеты – установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf

samba-common
samba-winbind-clients
samba
samba-winbind
krb5-workstation
oddjob # Needed for creating auto home directory for domain users 
oddjob-mkhomedir
authconfig

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/samba/smb.conf
3. /etc/resolv.conf

Файл конфигурации – /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации – /etc/samba/smb.conf:

# cat /etc/samba/smb.conf
[global]
   workgroup = WINAD
   password server = adsrv.winad.local
   # Remember to put the realm all in CAPS:
   realm = WINAD.LOCAL
   security = ads
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind enum users = yes
   winbind enum groups = yes
   encrypt passwords = yes
   log file = /var/log/samba/log.%m
   max log size = 50
   passdb backend = tdbsam
   load printers = yes
   cups options = raw
   kerberos method = system keytab
   log level = 10

Файл конфигурации – /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# service smb start
# service nmb start
# service winbind start
# net ads join -U Administrator

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

# net ads info

Ниже приведен пример вывода вышеуказанной команды.

# net ads info
LDAP server: 192.168.100.20
LDAP server name: adsrv.winad.local
Realm: WINAD.LOCAL
Bind Path: dc=WINAD,dc=LOCAL
LDAP port: 389
Server time: Fri, 09 Sep 2016 14:39:14 IST
KDC server: 192.168.100.20
Server time offset: 1

Проверьте, получен ли временный билет от AD:

# kinit Administrator

Выполните klist, чтобы проверить тикет.

Пример вывода выглядит следующим образом:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Обновите конфигурацию системы, чтобы использовать регистрацию в AD и сделать ее постоянной.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablewinbind --enablewinbindauth  --update
# authconfig --enablemkhomedir --update

Теперь напрямую войдите под учетной записью AD.

Способ 2 – Использование adcli с krb5 и sssd

Установите необходимые пакеты

Обязательные пакеты – установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

adcli
krb5-workstation
oddjob #Needed for creating auto home directory for domain users 
oddjob-mkhomedir
authconfig
sssd

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации – /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации – /etc/sssd/sssd.conf:

# cat /etc/sssd/sssd.conf
[sssd]
domains = winad.local
config_file_version = 2
services = nss, pam

[domain/winad.local]
ad_domain = winad.local
krb5_realm = WINAD.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad

Файл конфигурации – /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# adcli join winad.local 
Password for Administrator@WINAD.LOCAL:

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

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

# kinit Administrator

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Обновите конфигурацию системы, чтобы использовать регистрацию в AD и сделать ее постоянной.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablesssd --enablesssdauth --update
# authconfig --enablemkhomedir --update

Метод 3 – Использование realmd с krb5 и sssd (только для CentOS / RHEL 7)

Примечание: это поддерживается только в CentOS / RHEL7.

Установите необходимые пакеты

Обязательные пакеты – установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

realmd
krb5-workstation
oddjob # Needed for creating auto home directory for domain users (Installed by default)
oddjob-mkhomedir
authconfig(Installed by default with realmd)
sssd (Installed by default with realmd)

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации – /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации – /etc/sssd/sssd.conf:

# cat /etc/sssd/sssd.conf
[sssd]
domains = winad.local
config_file_version = 2
services = nss, pam

[domain/winad.local]
ad_domain = winad.local
krb5_realm = WINAD.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad

Файл конфигурации – /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# realm join winad.local -U Administrator
Password for Administrator@WINAD.LOCAL:

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

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

# kinit Administrator

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Примечание. По умолчанию realmd позаботился о присоединении системы к домену. В случае любой проблемы могут быть выполнены следующие шаги.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablesssd --enablesssdauth --update
# authconfig --enablemkhomedir --update

Теперь напрямую войдите с учетной записью AD.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Юрий

    Доброго времени суток!

    Перепробовал все варианты, кроме первого. Комп в домен вводится, пользователи видятся, но напрямую войти под пользователем не удаётся – пишет login incorrect.

    Единственное – у меня не выполнились команды:
    # chkconfig oddjobd on
    # authconfig –enablesssd –enablesssdauth –update
    # authconfig –enablemkhomedir –update

    Высвечивается: command not found

    Ответить
  2. Юрий

    А куда деваются комментарии?

    Ответить