Введение linux-машины в домен AD.

Тут описано как ввести linux-машину в домен, позволить пользователям логиниться под доменной УЗ и спокойно работать работу. Основная статья написана для Ubuntu, в конце статьи будут указаны отличия для RHEL (Centos).

Есть несколько требований, которым должна удовлетворять наша система:
1) правильно настроенный DNS
эээ, всё

Собственно, в Ubuntu 20.04 за работу сети отвечает Netplan. Довольно удобная штука, кстати. Проверяем конфиг и правим, если необходимо:

vim /etc/netplan/00-installer-config.yaml

Проверяем чтобы адрес nameserver’а был указан верно (в моей конфигурации это адрес контроллера домена) и чтобы верно был указан search domain

 network:
  ethernets:
    eth0:
      addresses:
      - 192.168.88.22/24
      gateway4: 192.168.88.1
      nameservers:
        addresses:
        - 192.168.88.10
        search:
        - ITsberg.local
  version: 2

Если файл был отредактирован, необходимо проверить конфигурацию:

sudo netplan generate

Если ошибок нет, программа ничего не выведет на экран и запишет конфигурацию на диск. Если ошибки есть — исправляем их. Применяем конфигурацию:

sudo netplan apply

Далее необходимо отредактировать файл /etc/hosts чтобы наш сервер мог найти себя в сети без проблем. Указываем FQDN для данного хоста. Здесь и далее внимательно следим за регистром. Где у меня написано прописными буквами — пишем прописными буквами. Иначе чудесным образом ничего не будет работать. Так написано даже в документации Ubuntu.

 127.0.0.1       localhost
127.0.1.1       ubuntu.ITSBERG.LOCAL  ubuntu

Устанавливаем нужные пакеты:

sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli cifs-utils

Проверяем, что наш домен виден в сети:

realm discover ITSBERG.LOCAL

Вводим машину в домен:

sudo realm join ITSBERG.RU -U YourDomainAdmin@ITSBERG.LOCAL --install=/

Если хотите подробный вывод информации — добавьте ключ —join.

Редактируем настройки PAM

sudo pam-auth-update

Всё, наша машина в домене. Теперь нужно выдать права на логин. Права выдаются группе безопасности, не пользователю. Так же имя группы безопасности должно начинаться с маленькой буквы (да, это тоже важно. Проверял). Для этого редактируем файл /etc/sssd/sssd.conf

vim /etc/sssd/sssd.conf  

В конец файла добавляем строку:

simple_allow_groups = <groupname>

где <groupname> — sAMAccountName группы безопасности в AD. В моём случае эта строка будет выглядеть так:

 simple_allow_groups = linux_ubuntu_admins

Так же можно разрешить логин на данную машину по сокращённому имени пользователя и не писать каждый раз имя пользователя с доменом. Правим строки в этом же файле /etc/sssd/sssd.conf
Должно быть так:

use_fully_qualified_names = False
fallback_homedir = /home/%u

Сохраняем файл sssd.conf и перезапускаем sssd

systemctl restart sssd

Подробнее про SSSD читаем тут.

Далее, наверное нам захочется использовать утилиту sudo. Опять придётся редактировать конфиг, на этот раз  /etc/sudoers (только через visudo!)

visudo -f /etc/sudoers

Тут в конце файла добавляем строку

%linux_ubuntu_admins ALL=(ALL:ALL) ALL

Подробнее про visudo можно почитать тут.

Ну и несколько отличий если у вас не Ubuntu, а RHEL:

Ставим пакеты:

dnf -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common-tools krb5-workstation

Настройки те же самые, что и для Ubuntu.
Утилиты visudo нет, поэтому правим файл /etc/sudoers любым удобным редактором:

 vim /etc/sudoers

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