Присоединение виртуальной машины SUSE Linux Enterprise к управляемому домену доменных служб Microsoft Entra

Чтобы пользователи могли входить в виртуальные машины (виртуальные машины) в Azure с помощью одного набора учетных данных, вы можете присоединить виртуальные машины к управляемому домену доменных служб Microsoft Entra. При присоединении виртуальной машины к управляемому домену доменных служб учетные записи пользователей и учетные данные из домена можно использовать для входа и управления серверами. Также применяются членства в группах из управляемого домена, позволяющие управлять доступом к файлам и службам на виртуальной машине.

В этой статье объясняется, как присоединить виртуальную машину SUSE Linux Enterprise (SLE) к управляемому домену.

Необходимые компоненты

Для работы с этим учебником требуются следующие ресурсы и разрешения:

  • Активная подписка Azure.
  • Клиент Microsoft Entra, связанный с подпиской, либо синхронизирован с локальным каталогом или облачным каталогом.
  • Управляемый домен доменных служб Microsoft Entra включен и настроен в клиенте Microsoft Entra.
  • Учетная запись пользователя, входящая в управляемый домен.
  • Уникальные имена виртуальных машин Linux, содержащие не более 15 символов (иначе они будут усечены, что может вызвать конфликты в Active Directory).

Создание виртуальной машины SLE Linux и подключение к ней

Если у вас есть существующая виртуальная машина SLE Linux в Azure, подключитесь к ней с помощью SSH, а затем перейдите к следующему шагу, чтобы приступить к настройке виртуальной машины.

Если необходимо создать виртуальную машину SLE Linux или создать тестовую виртуальную машину для использования в целях этой статьи, можете использовать один из следующих методов:

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

  • Разверните виртуальную машину в той же или одноранговой виртуальной сети, в которой включены доменные службы Microsoft Entra.
  • Разверните виртуальную машину в другой подсети, отличной от управляемого домена доменных служб Microsoft Entra.

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

Настройка файла hosts

Чтобы убедиться, что имя узла виртуальной машины правильно настроено для управляемого домена, измените файл /etc/hosts и задайте имя узла:

sudo vi /etc/hosts

В файле hosts обновите адрес localhost. В следующем примере :

  • aaddscontoso.com — это DNS-имя управляемого домена.
  • linux-q2gr — это имя узла виртуальной машины SLE, присоединяемой к управляемому домену.

Замените эти имена своими значениями:

127.0.0.1 linux-q2gr linux-q2gr.aaddscontoso.com

По завершении сохраните и закройте файл hosts с помощью команды :wq редактора.

Присоединение виртуальной машины к управляемому домену с использованием SSSD

Чтобы присоединиться к управляемому домену с помощью SSSD и модуля управления входом пользователя YaST, выполните следующие действия.

  1. Установите модуль управления входом пользователя YaST:

    sudo zypper install yast2-auth-client
    
  2. Откройте YaST.

  3. Чтобы использовать автообнаружение DNS, настройте управляемые IP-адреса домена (сервера Active Directory) в качестве сервера доменных имен для клиента.

    В YaST выберите System > Network Settings (Система > Параметры сети).

  4. Выберите вкладку HostName/DNS, а затем введите IP-адреса управляемого домена в текстовое поле Name Server 1. Эти IP-адреса отображаются в окне свойств в Центре администрирования Microsoft Entra для управляемого домена, например 10.0.2.4 и 10.0.2.5.

    Добавьте собственные IP-адреса управляемых доменов, а затем нажмите кнопку ОК.

  5. В главном окне YaST выберите Network Services>User Logon Management (Сетевые службы > Управление входом пользователя).

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

    Example screenshot of the User Login Management window in YaST

    Чтобы начать редактирование, выберите Change Settings (Изменить параметры).

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

  1. В диалоговом окне выберите Add Domain (Добавить домен).

  2. Укажите правильное доменное имя, например aaddscontoso.com, а затем укажите службы, используемые для идентификации данных и проверки подлинности. Выберите Microsoft Active Directory в обоих случаях.

    Убедитесь, что выбран параметр Enable the domain (Включить домен).

  3. Когда все будет готово, щелкните ОК.

  4. Примите параметры по умолчанию в следующем диалоговом окне, а затем нажмите кнопку ОК.

  5. При необходимости виртуальная машина устанавливает дополнительное программное обеспечение, а затем проверяет, доступен ли управляемый домен.

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

    Example screenshot of the Active Directory enrollment window in YaST

  6. В диалоговом окне укажите имя и пароль пользователя, который является частью управляемого домена. При необходимости добавьте учетную запись пользователя в группу в идентификаторе Microsoft Entra.

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

  7. Для регистрации нажмите кнопку ОК.

  8. Отобразится сообщение с подтверждением успешной регистрации. Чтобы завершить процесс, щелкните ОК.

После регистрации виртуальной машины в управляемом домене настройте клиент с помощью команды Manage Domain User Logon (Управлять входом пользователя домена), как показано на следующем примере снимка экрана:

Example screenshot of the Manage Domain User Logon window in YaST

  1. Чтобы разрешить вход с использованием данных, предоставленных управляемым доменом, установите флажок Allow Domain User Logon (Разрешить вход пользователя в домен).

  2. При необходимости в разделе Enable domain data source (Включение источника данных домена) проверьте наличие дополнительных источников данных, необходимых для вашей среды. Эти параметры включают пользователей, которым разрешено использовать sudo или доступные сетевые диски.

  3. Чтобы разрешить пользователям управляемого домена использовать домашние каталоги на виртуальной машине, установите флажок Create Home Directories (Создать домашние каталоги).

  4. На боковой панели выберите Service Options › Name switch, а затем Extended Options (Расширенные параметры). В этом окне выберите либо fallback_homedir, либо override_homedir, а затем нажмите кнопку Add (Добавить).

  5. Укажите значение для расположения домашнего каталога. Чтобы домашняя папка была в формате /home/USER_NAME, используйте /home/%u. Дополнительные сведения о возможных переменных см. на справочной странице SSSD.conf (man 5 sssd.conf), раздел override_homedir.

  6. Нажмите ОК.

  7. Чтобы сохранить изменения, нажмите кнопку ОК. Затем проверьте, что значения отображаются правильно. Чтобы выйти из диалогового окна, нажмите Cancel (Отмена).

  8. Если планируется одновременное выполнение SSSD и Winbind (например, при соединении через SSSD, но при этом выполняется файловый сервер Samba), метод kerberos параметра Samba должен быть установлен в значение secrets and keytab в smb.conf. Параметр SSSD ad_update_samba_machine_account_password также должен иметь значение true в SSSD.conf. Эти параметры запрещают keytab системы синхронизироваться.

Присоединение виртуальной машины к управляемому домену с использованием Winbind

Чтобы присоединиться к управляемому домену с помощью winbind и модуля членства в домене Windows YaST, выполните следующие действия.

  1. В YaST выберите Network Services > Windows Domain Membership (Сетевые службы > Членство в домене Windows).

  2. Введите домен для присоединение в домене или рабочей группе на экране членства в домене Windows. Введите имя управляемого домена, например aaddscontoso.com.

    Example screenshot of the Windows Domain Membership window in YaST

  3. Чтобы использовать источник SMB для проверки подлинности Linux, установите флажок se SMB Information for Linux Authentication (Использовать сведения об SMB для проверки подлинности Linux).

  4. Чтобы автоматически создать локальный корневой каталог для пользователей управляемого домена на виртуальной машине, установите флажок Create Home Directory on Login (Создать домашний каталог при входе).

  5. Установите флажок для автономной проверки подлинности, чтобы разрешить пользователям домена выполнять вход, даже если управляемый домен временно недоступен.

  6. Если вы хотите изменить диапазоны UID и GID для пользователей и групп Samba, выберите Expert Settings (Расширенные параметры).

  7. Настройте синхронизацию времени по протоколу NTP для управляемого домена, выбрав NTP Configuration (Конфигурация NTP). Введите IP-адреса управляемого домена. Эти IP-адреса отображаются в окне свойств в Центре администрирования Microsoft Entra для управляемого домена, например 10.0.2.4 и 10.0.2.5.

  8. Нажмите кнопку ОК и подтвердите присоединение к домену при появлении соответствующего запроса.

  9. Укажите пароль администратора в управляемом домене и нажмите кнопку ОК.

    Example screenshot of the authentication dialog prompt when you join a SLE VM to the managed domain

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

Присоединение виртуальной машины к управляемому домену с помощью Winbind из интерфейса командной строки YaST

Чтобы присоединиться к управляемому домену с помощью winbind из интерфейса командной строки YaST:

  • Присоединитесь к домену.

    sudo yast samba-client joindomain domain=aaddscontoso.com user=<admin> password=<admin password> machine=<(optional) machine account>
    

Присоединение виртуальной машины к управляемому домену с помощью Winbind из терминала

Чтобы присоединиться к управляемому домену с помощью winbind и команды samba net:

  1. Установите клиент kerberos и samba-winbind:

    sudo zypper in krb5-client samba-winbind
    
  2. Измените файлы конфигурации.

    • /etc/samba/smb.conf

      [global]
          workgroup = AADDSCONTOSO
          usershare allow guests = NO #disallow guests from sharing
          idmap config * : backend = tdb
          idmap config * : range = 1000000-1999999
          idmap config AADDSCONTOSO : backend = rid
          idmap config AADDSCONTOSO : range = 5000000-5999999
          kerberos method = secrets and keytab
          realm = AADDSCONTOSO.COM
          security = ADS
          template homedir = /home/%D/%U
          template shell = /bin/bash
          winbind offline logon = yes
          winbind refresh tickets = yes
      
    • /etc/krb5.conf

      [libdefaults]
          default_realm = AADDSCONTOSO.COM
          clockskew = 300
      [realms]
          AADDSCONTOSO.COM = {
              kdc = PDC.AADDSCONTOSO.COM
              default_domain = AADDSCONTOSO.COM
              admin_server = PDC.AADDSCONTOSO.COM
          }
      [domain_realm]
          .aaddscontoso.com = AADDSCONTOSO.COM
      [appdefaults]
          pam = {
              ticket_lifetime = 1d
              renew_lifetime = 1d
              forwardable = true
              proxiable = false
              minimum_uid = 1
          }
      
    • /etc/security/pam_winbind.conf

      [global]
          cached_login = yes
          krb5_auth = yes
          krb5_ccache_type = FILE
          warn_pwd_expire = 14
      
    • /etc/nsswitch.conf

      passwd: compat winbind
      group: compat winbind
      
  3. Убедитесь, что дата и время в идентификаторе Microsoft Entra и Linux синхронизированы. Это можно сделать, добавив сервер Microsoft Entra в службу NTP:

    1. Добавьте следующую строку после /etc/ntp.conf:

      server aaddscontoso.com
      
    2. Перезапустите службу NTP.

      sudo systemctl restart ntpd
      
  4. Присоединитесь к домену.

    sudo net ads join -U Administrator%Mypassword
    
  5. Включите Winbind в качестве источника входа в модули подключаемого модуля проверки подлинности Linux (PAM):

    config pam-config --add --winbind
    
  6. Включите автоматическое создание домашних каталогов, чтобы пользователи могли входить в систему:

    sudo pam-config -a --mkhomedir
    
  7. Запустите и включите службу winbind:

    sudo systemctl enable winbind
    sudo systemctl start winbind
    

Разрешение проверки пароля для SSH

По умолчанию пользователи могут входить в виртуальную машину только с помощью проверки подлинности на основе открытых ключей SSH. Проверку подлинности на основе пароля пройти невозможно. При присоединении виртуальной машины к управляемому домену эти учетные записи домена должны использовать проверку подлинности на основе пароля. Обновите конфигурацию SSH, чтобы разрешить проверку подлинности на основе пароля, как показано ниже.

  1. Откройте файл sshd_conf с помощью редактора:

    sudo vi /etc/ssh/sshd_config
    
  2. Для строки PasswordAuthentication установите значение yes:

    PasswordAuthentication yes
    

    По завершении сохраните и закройте файл sshd_conf с помощью команды :wq редактора.

  3. Чтобы применить изменения и позволить пользователям входить с помощью пароля, перезапустите службу SSH:

    sudo systemctl restart sshd
    

Предоставление привилегий суперпользователя группе "Администраторы контроллера домена AAD"

Чтобы предоставить членам группы администраторов контроллера домена AAD права администратора на виртуальной машине SLE, добавьте запись в /etc/sudoers. После добавления члены группы администраторов контроллера домена AAD могут использовать команду sudo на виртуальной машине SLE.

  1. Откройте файл sudoers для редактирования:

    sudo visudo
    
  2. Добавьте следующую запись в конец файла /etc/sudoers. Группа администраторов контроллера домена AAD содержит пробелы в имени, поэтому включите escape-символ обратной косой черты в имя группы. Добавьте собственное доменное имя, например aaddscontoso.com:

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
    

    По завершении сохраните и закройте редактор с помощью команды :wq редактора.

Вход в виртуальную машину с помощью учетной записи домена

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

  1. Создайте новое SSH-подключение с консоли. Используйте учетную запись домена, принадлежащую к управляемому домену, с помощью команды ssh -l, например contosoadmin@aaddscontoso.com, и введите адрес виртуальной машины, например linux-q2gr.aaddscontoso.com. При использовании Azure Cloud Shell используйте общедоступный IP-адрес виртуальной машины, а не внутреннее DNS-имя.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com linux-q2gr.aaddscontoso.com
    
  2. После успешного подключения к виртуальной машине убедитесь, что корневой каталог был инициализирован правильно:

    sudo pwd
    

    Вы должны находиться в каталоге /home с собственным каталогом, совпадающим с учетной записью пользователя.

  3. Теперь убедитесь, что членство в группе разрешается правильно:

    sudo id
    

    Вы должны видеть свое членство в группе из управляемого домена.

  4. Если вы вошли в виртуальную машину в качестве члена группы администраторов контроллера домена AAD, убедитесь, что вы можете правильно использовать команду sudo:

    sudo zypper update
    

Следующие шаги

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