Как установить и настроить авторизацию с помощью SSSD на Linux машине, чтобы использовать учетные записи из домена A1 для доступа к ресурсу в домене B1?

В данном сценарии имеется домен Windows A1, с которым были установлены односторонние входящие доверительные отношения, позволяющие пользователям из A1 авторизовываться в домене Windows B1. Как можно настроить клиент Linux с использованием SSSD для обеспечения работы с этой конфигурацией, если клиент имеет доступ только к домену B1 и не может обратиться к A1? 

При попытке указать два домена в конфигурации SSSD в следующем виде:  
``` 
[domain/windows-A1]  
[domain/windows-A1/windows-B1]  
```  
возникает ошибка о недоступности. На клиенте Linux удается авторизоваться только в домене B1, при этом контроллер домена B1 видит учетные записи из A1, и под ними можно успешно войти в домен. Все порты между клиентом и доменами открыты в обе стороны. 

Как правильно реализовать авторизацию пользователей из домена A1 на клиенте Linux через SSSD при наличии только доступа к домену B1?
  • 23 октября 2024 г. 15:42
Ответы на вопрос 1
Для настройки авторизации пользователей из домена A1 на клиенте Linux с использованием SSSD, когда клиент имеет доступ только к домену B1, вы можете следовать этим шагам. Стратегия заключается в настройке SSSD так, чтобы он мог действовать как клиент для домена B1, который уже настроен для аутентификации пользователей из домена A1 через доверительные отношения.

### Шаги По Настройке SSSD

1. **Установка необходимых пакетов**:
   Убедитесь, что на клиенте установлен пакет `sssd` и его зависимости. В зависимости от вашей дистрибуции команды могут варьироваться:

   ```bash
   # Для Debian/Ubuntu
   sudo apt-get install sssd sssd-tools libpam-sssd

   # Для RHEL/CentOS
   sudo yum install sssd sssd-tools
   ```

2. **Конфигурация SSSD**:
   Откройте файл конфигурации SSSD `sssd.conf` (обычно находится в `/etc/sssd/sssd.conf`):

   ```ini
   [sssd]
   services = nss, pam
   config_file_version = 2

   [domain/windows-B1]
   id_provider = ad
   auth_provider = ad
   access_provider = ad
   ldap_id_mapping = True

   # Опционально, если вам нужно ограничить доступ
   # autorized_users = <list_of_users>
   
   # Убедитесь, что настройки соответствуют вашим требованиям
   krb5_realm = YOUR_REALM
   realmd_tags = manages-system joined-with-samba

   # Настройка DNS для автоматического обнаружения
   # Это важно, если ваш компьютер не может обнаружить контроллер домена сам
   # dns_resolver = <your_dns_server>
   
   ```
   Убедитесь, что вы заменили `YOUR_REALM` на ваш действительный Kerberos-реалм.

3. **Настройка PAM**:
   Вам нужно будет убедиться, что PAM настроен для использования SSSD для аутентификации. Проверьте файл `/etc/pam.d/common-auth`, чтобы убедиться, что у вас есть следующая строка:

   ```bash
   auth required pam_sssd.so
   ```

   Или в файле `/etc/pam.d/system-auth`:

   ```bash
   auth sufficient pam_sssd.so
   ```

4. **Обновление конфигурации Kerberos**:
   Убедитесь, что файл `/etc/krb5.conf` корректен и указывает на правильные настройки вашего домена B1.

   ```ini
   [libdefaults]
       default_realm = YOUR_REALM
       dns_lookup_realm = false
       dns_lookup_kdc = true

   [realms]
       YOUR_REALM = {
           kdc = kdc.yourdomain.com
           admin_server = kdc.yourdomain.com
       }

   [domain_realm]
       .yourdomain.com = YOUR_REALM
       yourdomain.com = YOUR_REALM
   ```

5. **Перезапуск SSSD**:
   После изменения конфигурации перезапустите службу SSSD, чтобы применить изменения:

   ```bash
   sudo systemctl restart sssd
   ```

6. **Проверка**:
   Чтобы проверить, что настройка работает, можно использовать команду:

   ```bash
   id username@A1
   ```

   Здесь `username@A1` - это учетная запись из домена A1. Если все настроено правильно, вы должны получить информацию о пользователе.

### Важно:
- Убедитесь, что клиент Linux может разрешать имена контроллеров домена B1 и, в конечном счете, А1 (если они необходимы).
- Также убедитесь, что все необходимые порты открыты (например, 88 для Kerberos, 389 для LDAP, и т.д.).
- В случае проблем с аутентификацией, вы можете посмотреть в логи SSSD, которые обычно находятся в `/var/log/sssd/`.

Если у вас будут дополнительные вопросы или проблемы, не стесняйтесь задавать их!
Похожие вопросы