Невозможно подключиться к домену активного каталога alt linux

Обновлено: 24.11.2024

Причина: в настоящее время эта страница обновляется. Исходная страница осталась нетронутой до тех пор, пока переписывание не будет завершено, см. раздел «Старая вики-статья», чтобы узнать об исходном содержании. Разделы, в названии которых используется перечеркнутый, уже включены в новые разделы. (Обсудить в Talk:Интеграция с Active Directory)

Active Directory (AD) — это служба каталогов, разработанная Microsoft для доменных сетей Windows.

В этой статье описывается, как интегрировать систему Arch Linux с существующей доменной сетью Windows с помощью Samba.

Прежде чем продолжить, у вас должен быть существующий домен Active Directory и пользователь с соответствующими правами в домене, чтобы: запрашивать пользователей и добавлять учетные записи компьютеров (присоединение к домену).

Этот документ не является полным руководством по Active Directory или Samba. Дополнительные сведения см. в разделе ресурсов.

Содержание

Введение

В этой статье объясняется, как настроить систему Arch Linux для участия в домене Active Directory. Эта статья была написана и протестирована при новой установке, и предполагается, что все файлы конфигурации находятся в неизмененном состоянии после установки. На протяжении всей статьи пример домена Active Directory будет использовать следующую конфигурацию:

  • Доменное имя NetBIOS: ВНУТРЕННИЙ
  • DNS-имя домена: internal.domain.tld
  • Сфера Kerberos: INTERNAL.DOMAIN.TLD
  • Первый контроллер домена: server1.internal.domain.tld с IP-адресом 192.168.1.1
  • Второй контроллер домена: server2.internal.domain.tld с IP-адресом 192.168.1.2

В большинстве небольших сетей контроллеры домена (DC) также выполняют роль DNS-сервера. Это может быть не так в больших сетях. Как правило, контроллеры домена также выполняют роль NTP, но не всегда. Обратитесь к сетевому администратору, чтобы проверить правильные значения для серверов DNS и NTP.

Необходимое программное обеспечение

Чтобы эффективно использовать samba, вам необходимо установить следующие пакеты: samba , smbclient и ntp . (в качестве альтернативы ntp можно использовать timedatectl.)

Кроме того, хотя это и не обязательно, следующие пакеты будут полезны для тестирования и устранения неполадок: bind , krb5 и, если требуется печать (независимо от того, хотите ли вы совместно использовать принтеры или использовать принтеры на другом хосте Samba/Windows), cups .

Первоначальная настройка сервисов

Конфигурация DNS

Active Directory полностью зависит от DNS для разрешения имен. Крайне важно, чтобы в файле /etc/resolv.conf были указаны правильные DNS-серверы и суффикс поиска домена. Независимо от того, настроены ли вы с помощью DHCP или статической конфигурации, убедитесь, что эти значения верны для вашего домена. Для примера конфигурации домена подходит следующее содержимое (обязательно замените 192.168.1.1, 192.168.1.2 и internal.domain.tld соответствующими значениями для вашей сети):

Если вы решили установить пакет связывания, вы можете протестировать конфигурацию DNS с помощью следующих команд (не забудьте заменить server1 и internal.domain.tld соответствующими значениями для вашей сети):

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

Конфигурация NTP

В домене Active Directory, а точнее для выдачи билетов Kerberos, крайне важно, чтобы время было синхронизировано со всеми другими узлами в сети. Требуется погрешность не более пяти минут. Для примера конфигурации домена соответствующий файл /etc/ntp.conf должен иметь следующее содержимое (обязательно замените server1, server2 и internal.domain.tld соответствующими значениями для вашей сети):

Включите и запустите модуль ntpd.service.

Конфигурация Kerberos

В документации Samba рекомендуется минимальная конфигурация Kerberos с достаточным количеством информации в разделе [libdefaults], чтобы передать работу по обнаружению сведений о домене DNS. К сожалению, на практике это плохо работает. Продолжая пример конфигурации домена, измените файл /etc/krb5.conf со следующим содержимым (обязательно замените экземпляры INTERNAL, internal.domain.tld, SERVER1 и INTERNAL.DOMAIN.TLD соответствующими значениями для вашей сети) :

Настройка Samba

Базовый файл конфигурации Samba

Установка samba по умолчанию не включает пример файла /etc/samba/smb.conf. Для нашего примера конфигурации домена используйте следующие базовые настройки (замените экземпляры INTERNAL и INTERNAL.DOMAIN.TLD соответствующими значениями для вашей сети):

Если вы не хотите предоставлять общий доступ к локальным принтерам, настроенным в cups , добавьте следующее в раздел [Global] файла /etc/samba/smb.conf:

Остальная часть конфигурации зависит от того, поддерживает ли ваш домен атрибуты RFC2307 Unix/NFS.Если вы не уверены, проконсультируйтесь с администратором вашего домена.

Добавление конфигурации idmap для доменов с расширениями RFC2307

Убедитесь, что приведенные ниже значения не перекрываются с системными значениями и что все пользователи имеют по крайней мере атрибут uidNubmer, а PrimaryGroup этих пользователей имеет < атрибут i>gid. Добавьте следующее в раздел [Global] файла /etc/samba/smb.conf (замените INTERNAL на доменное имя NetBIOS):

Кроме того, если учетные записи пользователей в AD имеют атрибут gidNumber, вы можете использовать его вместо RID для основной группы пользователя, добавив следующий параметр (опять же в раздел [Общие]):

Добавление конфигурации idmap для доменов без расширений RFC2307

Если ваш администратор не расширил схему AD, включив в нее атрибуты RFC2307, используйте следующую конфигурацию idmap в разделе [Global] файла /etc/samba/smb.conf (замените INTERNAL на имя домена NetBIOS):

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

Чтобы присоединиться к домену AD, просто введите следующую команду (не забудьте заменить администратора на пользователя, имеющего права на присоединение к домену AD).

Запустите отдельные службы Samba

Включите и запустите службы smb.service, nmb.service и winbind.service.

Настроить NSS

Измените файл /etc/nsswitch.conf, чтобы Samba могла сопоставлять имена с uid и gid:

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

Проверьте подключение, перечислив пользователей и группы домена AD, о которых знает система:

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

Настройка аутентификации PAM

Вместо того, чтобы настраивать параметры непосредственно в файлах конфигурации Linux-PAM, установите значения по умолчанию для модуля pam_winbind в /etc/security/pam_winbind.conf :

Для большинства служб достаточно изменить только файл /etc/pam.d/system-auth. Любая конфигурация для программ, не включающих этот файл, также должна быть изменена напрямую. Создайте резервную копию файла /etc/pam.d/system-auth и используйте следующую конфигурацию:

Если у вас есть другие службы, которые не включают файл /etc/pam.d/system-auth, измените конфигурацию, чтобы отразить все записи pam_unix.so для pam_winbind.so< /i> и измените все требуемые на достаточные. Хорошим примером является конфигурация su. Создайте резервную копию файла /etc/pam.d/su и используйте вместо него следующее:

Вышеприведенная конфигурация pam_winbind не будет использовать местоположение билета Kerberos по умолчанию ( KRB5CCNAME ), которое находится в /tmp/krb5cc_UID . Вместо этого он сохраняет автоматически обновленный билет Kerberos в /run/user/UID/krb5cc . Добавьте в файл krb5.conf следующее, чтобы сообщить Kerberos о вашем новом местоположении:

Чтобы проверить свои изменения, запустите новую консоль или сеанс ssh (не закрывайте существующий сеанс, пока не выполните тщательную проверку) и попробуйте войти в систему, используя учетные данные AD. Доменное имя является необязательным, так как оно было установлено в конфигурации Winbind как «область по умолчанию». Обратите внимание, что в случае ssh вам потребуется изменить файл /etc/ssh/sshd_config, чтобы разрешить аутентификацию Kerberos (см. ниже).

Запустите klist, чтобы убедиться, что вы получили билет Kerberos. Вы должны увидеть что-то похожее на:

Наконец, перед выходом из существующего (рабочего) сеанса следует проверить вход как в качестве пользователя root, так и в качестве локального непривилегированного пользователя.

Старая вики-статья

Active Directory служит центральным местом для сетевого администрирования и безопасности. Он отвечает за аутентификацию и авторизацию всех пользователей и компьютеров в доменной сети Windows, назначение и применение политик безопасности для всех компьютеров в сети, а также за установку или обновление программного обеспечения на сетевых компьютерах. Например, когда пользователь входит в систему на компьютере, входящем в домен Windows, именно Active Directory проверяет его или ее пароль и указывает, является ли он системным администратором или обычным пользователем. Серверные компьютеры, на которых работает Active Directory, называются контроллерами домена.

Active Directory использует облегченный протокол доступа к каталогам (LDAP) версий 2 и 3, версию Kerberos и DNS от Microsoft.

Терминология

Если вы не знакомы с Active Directory, полезно знать несколько ключевых слов.

  • Домен: имя, используемое для группировки компьютеров и учетных записей.
  • SID: каждый компьютер, присоединяющийся к домену в качестве члена, должен иметь уникальный SID или системный идентификатор.
  • SMB: блок сообщений сервера.
  • NETBIOS: протокол сетевого именования, используемый в качестве альтернативы DNS. В основном устаревшие, но все еще используемые в сетях Windows.
  • WINS: служба именования информации Windows. Используется для преобразования имен Netbios в хосты Windows.
  • Winbind: протокол для проверки подлинности Windows.

Конфигурация Active Directory

Этот раздел работает с конфигурацией Windows Server 2012 R2 по умолчанию.

Соображения относительно GPO

Цифровая подпись включена по умолчанию в Windows Server и должна быть включена как на уровне клиента, так и на уровне сервера. Для некоторых версий Samba клиенты Linux могут испытывать проблемы с подключением к домену и/или общим ресурсам. Рекомендуется добавить в файл smb.conf следующие параметры:

Если это не помогло, вы можете отключить Digital Sign Communication (Always) в групповых политиках AD. В редакторе групповой политики AD найдите:

В разделе Локальные политики > Политики безопасности > Microsoft Network Server > Обмен цифровыми знаками (всегда) активируйте определить эту политику и используйте переключатель отключить. кнопка.

Если вы используете Windows Server 2008 R2, вам необходимо изменить это в разделе GPO для политики контроллера домена по умолчанию > Параметры компьютера > Политики > Параметры Windows > Параметры безопасности > Локальные политики > Параметр безопасности > Клиент сети Microsoft: Цифровая подпись коммуникации (всегда).

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

Конфигурация хоста Linux

Следующие несколько шагов начнут процесс настройки хоста. Для выполнения этих шагов вам потребуется доступ root или sudo.

Установка

Установите следующие пакеты:

Обновление DNS

Active Directory сильно зависит от DNS. Вам нужно будет обновить /etc/resolv.conf, чтобы использовать один или несколько контроллеров домена Active Directory:

Замена и действительными IP-адресами для серверов AD. Если ваши домены AD не разрешают переадресацию или рекурсию DNS, вам может потребоваться добавить дополнительные преобразователи.

Примечание. Если на вашем компьютере выполняется двойная загрузка Windows и Linux, вам следует использовать другое имя хоста DNS и имя netbios для конфигурации Linux, если обе операционные системы будут членами одного домена.

Настройка NTP

В конфигурации серверов NTP используйте IP-адреса серверов AD, так как они обычно используют NTP как службу. Кроме того, вы можете использовать другие известные серверы NTP, если серверы Active Directory синхронизируются с тем же уровнем.

Убедитесь, что служба настроена на автоматическую синхронизацию времени очень рано при запуске.

Кербер

Примечание: Heimdal 1.3.1 не поддерживает шифрование DES, которое требуется для аутентификации AD до Windows Server 2008. Возможно, вам придется добавить в раздел [libdefaults].

Создание билета Kerberos

Теперь вы можете запросить контроллеры домена AD и запросить билет kerberos (необходим верхний регистр):

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

Проверка билета

Запустите klist, чтобы убедиться, что вы получили токен. Вы должны увидеть что-то похожее на:

pam_winbind.conf

Если вы получаете сообщение об ошибке, указывающее, что файл /etc/security/pam_winbind.conf не найден, создайте файл и добавьте следующее:

Самба

Samba — это бесплатное программное обеспечение, повторно реализующее сетевой протокол SMB/CIFS. Он также включает в себя инструменты для работы компьютеров с Linux в качестве сетевых серверов и клиентов Windows.

Примечание. Конфигурация может сильно различаться в зависимости от того, как развернута среда Windows. Будьте готовы к поиску и устранению неполадок

В этом разделе мы сначала сосредоточимся на том, чтобы заставить аутентификацию работать, сначала отредактировав раздел «Глобальный». Позже мы вернемся и добавим общие ресурсы.

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

Для этого вам потребуется учетная запись администратора AD. Предположим, что это имя администратора. Команда "net ads join"

Запуск и тестирование служб

Запуск Samba

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

Включите и запустите отдельные демоны Samba smbd.service , nmbd.service и winbindd.service .

Примечание. В samba 4.8.0-1 модули демона Samba были переименованы с smbd.service , nmbd.service и winbindd.service на smb.service , nmb.service и winbind.service .

Далее нам нужно будет изменить конфигурацию NSSwitch, которая сообщает хосту Linux, как получать информацию из различных источников и в каком порядке это делать. В этом случае мы добавляем Active Directory в качестве дополнительных источников для пользователей, групп и хостов.

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

Давайте проверим, может ли winbind запрашивать AD. Следующая команда должна вернуть список пользователей AD:

То же самое можно сделать для групп объявлений:

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

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

Следующий вывод показывает, как выглядит стандартная установка Arch Linux:

Тестирование команд Samba

Попробуйте несколько сетевых команд, чтобы узнать, может ли Samba обмениваться данными с AD:

Настройка PAM

Теперь мы изменим различные правила в PAM, чтобы разрешить пользователям Active Directory использовать систему для таких вещей, как вход в систему и доступ к sudo. При изменении правил обратите внимание на порядок этих элементов и то, помечены ли они как обязательные или достаточные, имеют решающее значение для того, чтобы все работало должным образом. Вы не должны отклоняться от этих правил, если не знаете, как писать правила PAM.

Я пытаюсь интегрировать систему RHEL 6.5 в рекламную среду Windows Server 2012. Я следовал руководству по следующей ссылке на странице 31.

Пока мне не удавалось добиться аутентификации.
Вот сообщения об ошибках, которые я получаю;

Не удалось присоединиться к домену: не удалось найти информацию о контроллере домена для домена «MYDOMAIN.LCL» через rpc: ошибка входа в систему

5 сентября 16:19:50 Redhat01 winbindd[24064]: [2014/09/05 16:19:50.636313, 0] winbindd/winbindd.c:240(winbindd_sig_term_handler)
5 сентября 16:19: 50 Redhat01 winbindd[24064]: Got sig[15] terminate (is_parent=1)
5 сентября 16:20:03 Redhat01 winbindd[24275]: [2014/09/05 16:20:03.186900, 0] winbindd /winbindd_dual.c:926(calculate_next_machine_pwd_change)
5 сент. 16:20:03 Redhat01 winbindd[24275]: не удается получить пароль собственного компьютера. Ошибка ads_connect для домена MYDOMAIN: не удается прочитать пароль
5 сентября, 22:14:46
5 сентября, 22:14:46 Redhat01 winbindd[24272]: Got sig[15] terminate (is_parent=1)
5 сентября, 22:16:15 Redhat01 winbindd[27376]: [2014/09/ 05 22:16:15.418863, 0] winbindd/winbindd_dual.c:926(calculate_next_machine_pwd_change)
Sep 5 22:16:15 Redhat01 winbindd[27376]: не удается получить пароль собственной машины. Ошибка ads_connect для домена MYDOMAIN: не удается прочитать пароль
5 сентября 22:16:15 Redhat01 smbd[27364]: [2014/09/05 22:16:15.788811, 0] print/nt_printing.c:102(nt_printing_init)
5 сентября, 22:16:15 Redhat01 smbd[27364]: nt_printing_init: ошибка проверки опубликованных принтеров: WERR_ACCESS_DENIED

Вот мой файл sbm.conf

realm = MYDOMAIN.LCL
рабочая группа = MYDOMAIN
security = ads
конфигурация idmap * : backend = autorid
config idmap * : диапазон = 1000000-201000000
idmap config * : rangesize = 2000000
winbind enum users = yes
winbind enum groups = yes
winbind separator = +
winbind use default domain = yes
template homedir = /home/%D/%U
template shell = /bin/bash
winbind offline logon = yes
debuglevel = 2

[журналирование]
по умолчанию = ФАЙЛ:/var/log/krb5libs.log
kdc = ФАЙЛ:/var/log/krb5kdc.log
admin_server = ФАЙЛ:/var/log /kadmind.log

[libdefaults]
default_realm = MYDOMAIN.lcl
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[realms]
МОЙ ДОМЕН.LCL = kdc = dc01.MYDOMAIN.lcl
admin_server = dc01.MYDOMAIN.lcl
>

МОЙ ДОМЕН.LCL = kdc = DC01.MYDOMAIN.LCL
kdc = DC01.MYDOMAIN.LCL
kdc = DC01.MYDOMAIN.LCL
>

[domain_realm]
mydomain.lcl = MYDOMAIN.LCL
.mydomain.lcl = MYDOMAIN.LCL

Ответы

Устранение неполадок, связанных с аутентификацией AD, на самом деле является поэтапным подходом.

  1. Подтвердите, что DNS работает правильно, и вы можете надежно разрешать серверы AD
  2. Убедитесь, что NTP настроен и синхронизировано время между клиентами и серверами (в идеале с использованием одного и того же источника NTP).
  3. Подтвердить присоединение к домену
    a. Убедитесь, что вы можете присоединить сервер Red Hat к домену, и объект-машина появится в AD
    b. Убедитесь, что вы получили правильные билеты Kerberos и конфигурация Kerberos выглядит корректно
  4. Подтвердите, что сервер Red Hat может «видеть» пользователей/группы, поступающие с серверов AD (например, getent group domaingroup / getent passwd domainuser/groups domainuser)
  5. Подтвердите, что пользователь может правильно войти/аутентифицироваться

Вы можете подтвердить правильность пунктов 1 и 2 в этом списке? а также убедитесь, что у вас не запущены брандмауэры (пока шаги AD не будут проверены)

Кстати, есть ли техническая причина, по которой вы решили не использовать SSSD? требование общего доступа к файлам?

Спасибо за ответ. Я успешно проверил шаги 1 и 2. DNS работает без проблем, а сервер времени для сервера RHEL (сервер AD-DNS), поэтому время синхронизируется.

Я получаю указанную выше ошибку во время операции присоединения к AD.
сетевые объявления присоединяются к администратору -U.

Проверено, что между ними нет проблем с брандмауэром.

Общий доступ к файлам не является обязательным. Я готов использовать SSSD, но не смог найти подходящего пошагового документа по настройке SSSD для домена Active Directory.

Это тот же документ, на который вы ссылались выше.

Конфигурация 3 в разделе 6.3 на странице 56 объясняет использование SSSD.

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

В вашем krb5.conf я бы сделал это следующим образом:

По сути, я бы исправил случай с параметром default_realm, чтобы все было заглавными буквами, соответствующими вашей другой конфигурации. Вам также не нужно определять [области] вручную, поскольку вы указали dns_lookup_realm и dns_lookup_kdc.

еще один вопрос в той же строке. требуются ли службы идентификации Unix на контроллере домена для SSSD?

IMU (управление идентификацией для Unix), ранее SFU (служба для Unix), не требуется для SSSD, поскольку SSSD поддерживает динамическое создание UID/GID на стороне Red Hat.

Мне нравится это обсуждение. Спасибо за хороший отзыв, Пиксель

Дайте нам знать, как вы идете! Как я упоминал выше, часть домена присоединения должна быть по существу такой же, поэтому вы можете столкнуться с похожей проблемой. но хотелось бы услышать, если / когда вы решите это.

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

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

Я не планирую устанавливать IMU (управление идентификацией для Unix) (поскольку это устарело в Windows Server 2012 R2)

Мне удалось настроить SSSD на самом базовом уровне и аутентифицировать пользователя через активный каталог.
Вот мой файл конфигурации;

[домен/МОЙ ДОМЕН.LCL]
id_provider = объявление

[libdefaults]
default_realm = MYDOMAIN.LCL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[domain_realm]
.mydomain.lcl = MYDOMAIN.LCL
mydomain.lcl = MYDOMAIN.LCL

Первый вопрос:
Когда я вошел в систему с тестовой учетной записью, пользователь по умолчанию стал домашним; /
test01:*:1926801177:1926800513:тестовый пользователь.:/:

Как я могу указать домашний каталог по умолчанию /home/domain/username ?

Второй вопрос:
Каждый пользователь, созданный в Active Directory, может войти на любой сервер RHEL со своими учетными данными домена.
Я хотел бы ограничить это, допустим, только группы «Linux-Администраторы» и «Linux-Владелец приложения» могут входить на серверы?

Третий вопрос:
В документации по SSSD указано, что мне нужно настроить samba для получения файла keytab для kerberos. Это единственная причина, по которой необходимо установить и настроить Samba? Я обнаружил, что adcli может делать то же самое, добавляя сервер в домен и генерируя файл keytab. Каково ваше мнение по этому поводу?

Спасибо за ваши ответы.
Спасибо.

Хорошие новости о присоединении!

Есть ли у вас информация о том, что IMU не поддерживается в версии 2012R2? Вероятно, изменится подход для некоторых сайтов.

Вопросы:
1. Этого можно добиться с помощью параметра override_homedir в sssd.conf. Для создания домашнего каталога требуется несколько переменных. По сути, это указывает sssd перехватить значение homedir, которое он получает из каталога, и перезаписать его (или, в вашем случае, предоставить его, если оно не существует)

'man sssd.conf' предоставит вам все варианты.

2.Вы можете ограничить это с помощью опции поставщика доступа. Я лично использую простого поставщика доступа, чтобы делать именно то, что вы описываете

Что касается того, что IMU устарел в 2012R2, я не могу найти ссылку от Microsoft, подтверждающую это, но я нашел несколько ссылок в Интернете, предлагающих то же самое.

Нет упоминания о IMU, только SUA (подсистема для приложений на базе UNIX), которая не имеет отношения. Опубликую, если найду что-нибудь еще.

Я рассмотрю поставщика простого доступа и поэкспериментирую с ним.
Я буду использовать smb.conf для настройки систем, но в моем эксперименте adcli отлично работал в RHEL 6.5.

еще один вопрос: я пришел больше из среды Windows. Когда я разговариваю с администраторами Linux/Unix. Они говорят, что им нравится, чтобы пользовательский uid или gid были одинаковыми по всем направлениям. Хотя один из способов сделать это — установить IMU и отслеживать его uid, gid и т. д.

Что является основной причиной того, что эти идентификаторы одинаковы для всех? и имеет ли это значение при аутентификации в AD?

Используете ли вы IMU? если да, то какова основная причина его использования?

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

Существует несколько основных причин для сохранения согласованности UID/GID, и это основная причина (наряду с центральной проверкой подлинности) переноса сред в каталог. Это не так очевидно, когда у вас есть системы, которые не взаимодействуют, но если у вас есть системы, которые, например, совместно используют общие файловые ресурсы NFS, UID/GID имеет решающее значение при управлении правами доступа к файлам.Вы должны убедиться, что файл, созданный пользователем1 в системе А, будет доступен тому же пользователю1 в системе Б. Если UID/GID отличаются от хоста к хосту, это становится головной болью контроля доступа.

Еще одна «изюминка», которую любят поддерживать многие администраторы, заключается в том, что первичный GID пользователя совпадает с UID пользователя, особенно если администратор планирует использовать стандартные частные группы пользователей Red Hat при использовании каталога (недостаток в том, что имена пользователей/групп не могут совпадать в AD).

Согласованность UID/GID — это то, что SSSD поддерживает с IMU (IdMU) и без него. Если у вас не включен IMU, SSSD использует алгоритм для создания UID/GID уникального SID из Active Directory. Способ генерации UID/GID с помощью SSSD согласован, поэтому одни и те же пользователи/группы будут получать одни и те же UID/GID на серверах SSSD с одинаковой конфигурацией (этот диапазон идентификаторов и алгоритм можно настроить).

Если у вас установлен IMU, этот UID/GID настраивается как свойство объектов пользователя и группы в каталоге. Это дает вам гораздо больший контроль над этой информацией, а также может использоваться для ограничения того, какие элементы из вашего каталога AD видны/представлены вашим хостам Red Hat / Linux (поскольку они будут отображать только записи с допустимыми атрибутами unix). Включение IMU также дает вам больший контроль над атрибутами оболочки и домашнего каталога пользователей по умолчанию, а также над атрибутом основной группы пользователя. Без IMU эта информация по существу «генерируется» динамически на основе предоставленной информации, например. имя пользователя/домен.

Лично я предпочитаю IMU и использую его на нескольких сайтах по вышеуказанным причинам. Я считаю, что без него вы теряете слишком много контроля над элементами Unix (каталог uid/gid/shell/home), и мне также нравится иметь полный контроль над основной группой unix, которую дает вам IMU. Другим преимуществом является то, что с включенным IMU AD является вашей единственной точкой истины. Скрипты и т. д. могут ссылаться на каталог и извлекать учетные данные unix пользовательских объектов, без IMU это более сложно, потому что вам нужно опрашивать сервер, на котором есть «сгенерированная» информация SSSD.

Как правило, я подхожу к этому так: обсуждаю включение расширений IMU с владельцем каталога и объясняю преимущества. В противном случае. вернуться к информации, созданной SSSD на стороне клиента.

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

Active Directory от Microsoft — это служба каталогов, использующая некоторые открытые протоколы, такие как Kerberos, LDAP и SSL.

Существует несколько способов использования AD для аутентификации, вы можете использовать Centrify Express, Likewise Open, pam_krb5, LDAP или winbind. Для Centrify Express см. [DirectControl]. Centrify Express можно использовать для интеграции серверов или рабочих столов с Active Directory. Аналогично Open также является решением для рабочих станций Linux для аутентификации в домене Active Directory. Для аналогичного открытия см. [LikewiseOpen] или аналогичное открытое. Для Winbind см. [ActiveDirectoryWinbindHowto].

Целью этого документа является предоставление руководства по настройке Samba в Ubuntu для работы в качестве файлового сервера в среде Windows, интегрированной в Active Directory. Цель состоит в том, чтобы создать файловый сервер, максимально приближенный к замене файлового сервера Microsoft Windows с точки зрения клиента.

Фон

Важно иметь в виду, что разработчикам Samba приходится играть в детективы, чтобы попытаться реконструировать реализацию Microsoft протокола SMB. Конечным результатом является то, что время от времени возникают проблемы, которые необходимо обойти, если исправления ошибки не существует. С приведенными ниже инструкциями ожидаемое поведение должно быть приемлемым в большинстве корпоративных сред.

Samba допускает большую гибкость в поведении общих ресурсов в зависимости от каждого общего ресурса. В задачи этого документа не входит рассмотрение каждого параметра конфигурации и их поведения. Было бы очень полезно сначала прочитать документацию по smb.conf, которую можно найти на веб-странице Samba. В документации довольно много настроек, но общее представление о том, что они из себя представляют и что они делают, поможет понять этот документ и то, как вы можете сделать шаг вперед, изменив настройки по своему вкусу и среде.

Предпосылки

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

  • Установка Ubuntu Server Edition по умолчанию.
  • Собственный домен Windows 2003 (смешанный режим не тестировался, но может работать)
  • Достаточно места на жестком диске для размещения пакетов и общих ресурсов.
  • Правильные настройки IP DNS настроены так, чтобы можно было разрешать внутренние имена.

Установите пакеты samba, acl и attr, если вы хотите включить расширенные атрибуты, обеспечивающие более высокий уровень контроля для списков контроля доступа к файлам. Информацию о менеджерах пакетов и установке пакетов см. в разделе Установка программного обеспечения.

Вы можете отредактировать /etc/fstab, как показано ниже, чтобы включить расширенные атрибуты при загрузке:

Затем перемонтируйте файловую систему:

Первым шагом при присоединении к домену Active Directory является установка и настройка Kerberos. Дополнительные сведения см. в разделе Samba/Kerberos.

После установки и настройки Kerberos необходимо настроить систему аутентификации (PAM) для использования Active Directory. Отредактируйте /etc/pam.d/common-auth и добавьте:

Затем отредактируйте /etc/pam.d/common-session:

kpasswd для смены пароля работает, но учтите, что AD по умолчанию запрещает пользователям менять пароли чаще одного раза в день.

Пользователи из AD должны существовать в /etc/passwd на рабочей станции Ubuntu, вы также можете использовать libnss-ldap для получения информации об учетной записи из AD.

Тестовый запрос: Windows

Предполагая, что вы не поддерживаете Active Directory, вы захотите определить структуру AD, прежде чем пытаться подключиться к ней из Linux. С ПК с Windows, подключенного к AD, вы должны выполнить запрос, используя Microsoft Active Directory Application Mode (ADAM). ADAM — это пакет инструментов, включающий CSVDE, который мы будем использовать для выполнения наших запросов.

Примечание: ADAM не поддерживается в Windows 7 и заменен AD LDS.

Введите это в Google, страница загрузки должна быть второй.

Установить. Откройте командную строку. Пуск > ВЫПОЛНИТЬ и введите «cmd». Перейдите в каталог установки, по умолчанию это c:\windows\ADAM

Примеры запросов: запрос записи пользователя

подстановочные знаки также работают

Запросить запись компьютера

Вернуть все в следующую папку AD

Выходные данные этих запросов будут помещены в файл export.csv внутри c:\windows\ADAM. Который затем можно просматривать как редактор электронных таблиц.

При установке SFU 3.5 на Windows Server 2003 (не R2) не добавляются необходимые расширения схемы LDAP.

Для расширения схемы LDAP необходимо установить компонент "Сервер для NIS". Установку необходимо выполнять с использованием учетной записи с правами администратора предприятия, чтобы схема была успешно расширена (действительно, требуются права администратора предприятия, даже если схема уже была расширена). В Active Directory расширения схемы необратимы, поэтому, если сервер NIS не требуется, его можно удалить после завершения расширения схемы. Однако, если установлен сервер SFU для NIS, он расширит инструмент Active Directory Users and Computers за счет вкладки UNIX Attributes, которая позволяет графическому интерфейсу редактировать атрибуты UNIX для пользователей, групп и компьютеров.

В Windows Server 2003 R2 схема Active Directory уже дополнена схемой, совместимой с RFC2307. Это отличается от расширений схемы, используемых в SFU3.5, требующих другой конфигурации libnss-ldap. По-прежнему необходимо установить сервер для NIS, чтобы расширить инструмент «Пользователи и компьютеры Active Directory» закладкой «Атрибуты UNIX», чтобы позволить графическому интерфейсу редактировать атрибуты UNIX для пользователей, групп и компьютеров.

Тестовый запрос: Linux

Мы хотим выполнить тестовый запрос в Linux, прежде чем пытаться настроить AD. Гораздо проще определить, как подключиться в командной строке, а затем настроить, чем повторно настраивать файл.

Нам потребуются как минимум эти два пакета для выполнения тестовых запросов в Active Directory.

Мы выполняем запросы с помощью 'ldapsearch'. Мы должны указать эти минимальные параметры:

Нам нужно указать сервер LDAP (контроллер домена)

и тип аутентификации: простая или SASL

Если у нас есть учетная запись Active Directory и установлены соответствующие библиотеки, вы также можете пройти аутентификацию с помощью SASL-GSSAPI, и вам не понадобятся параметры -D или -W

Аутентификация SASL отключена, простая включена

и папку, в которой мы хотим искать

и кто для аутентификации

у нас будет запрашивать пароль, а не указывать его в команде

и давайте найдем учетную запись Сэмми

Не нужно беспокоиться о пробелах, но чтобы указать запятую как часть пути, нам нужно поставить перед запятой префикс '\\'

Вы можете установить libnss-ldap и nscd из репозитория Universe.

Теперь вам нужно настроить /etc/nsswitch.conf для ldap.

Если у вас возникли проблемы при попытке выполнить ping, а в вашей сети есть сервер wins, вы можете добавить слово «wins» к строке hosts файла nsswitch.conf — вы можете заметить это только при попытке пропинговать статический IP-адрес. ПК с Linux с другого ПК с Linux — я считаю, что WINS является частью пакета samba, а IP-адреса для серверов WINS хранятся в /etc/samba/dhcp.conf, машина со статическим IP также должна указать свое имя NetBIOS в /etc /samba/smb.conf

При работе с файлом /etc/nsswitch.conf лучше всего отключить демон кэширования служб имен — /etc/init.d/nscd stop, иначе вы будете сбиты с толку кэшированными результатами. Включите его позже.

Затем вам нужно настроить файл /etc/libnss-ldap.conf. Другое название: /etc/ldap.conf

Думаю, для этого нужен только rootbinddn, без binddn, с bindpw в /etc/libnss-ldap.secret, а не здесь. Я также успешно объединил /etc/ldap/ldap.conf, /etc/libnss-ldap.conf и /etc/pam_ldap.conf, создав символическую ссылку на /etc/ldap/ldap.conf — AndyRabagliati < /p>

Неправильные настройки nss_map не позволят пройти аутентификацию и прочитать AD в целом. Эти настройки зависят от имен столбцов в вашей базе данных AD. В старых системах необходимо расширить базу данных (схему), как описано в разделе «Настройка AD». Как только эти атрибуты *NIX станут частью схемы, их можно изменить с помощью оснастки MMC «Пользователи и группы Active Directory», если idmu.exe установлен из пакета средств администрирования Windows Server 2003 R2. Если *членство в группе NIX было администрировано путем изменения списка на вкладке атрибутов UNIX в разделе «Пользователи и компьютеры AD» (что НЕОБХОДИМО в среде NIS), то «uniqueMember» следует сопоставить с «msSFU30PosixMember» (или «posixMember» для WS03R2). ) как «член» включает только членство, указанное в группе Windows. Для Windows Server 2003 R2 расширения схемы соответствуют RFC2307 — префикс «msSFU30» больше не используется, а следующая буква в нижнем регистре (например, msSFU30UidNumber теперь является uidNumber).

Дальнейшая оптимизация запросов может быть выполнена для свойств nss_base:

Эти фильтры могут потребоваться, если не для всех ваших пользователей и групп AD настроены атрибуты Unix (UID, GID и т. д.). Указание uidNumber=* исключит из поиска объекты AD, для которых не задан этот атрибут. . Если запуск "id -Gn " зависает (но getent passwd и getent group работают корректно), вам следует внести эти изменения. Приведенные выше фильтры будут сортировать пользователей, не являющихся компьютерами (AD хранит компьютеры как объекты User с символом "$" в конец) и иметь UID больше или равный 2000 и указанный домашний каталог Unix. Если вы не видите того, что ожидаете, работайте без фильтров и используйте порт LDAP по умолчанию и усложняйте шаг за шагом.

Амперсанд в приведенных выше запросах просто указывает логику AND

Для отладки запросов LDAP необходимо убедиться, что nscd выключен, и использовать команду getent

Чтобы следить за действиями команды, используйте strace

Если этого недостаточно, вы можете поместить строку в файл конфигурации для вывода:

Это может быть любое значение от 1 до 10, 10 — самое подробное значение.

С этой конфигурацией трафик LDAP не зашифрован, и кто-то может его перехватить. Чтобы обеспечить безопасность, используйте SSL

Теперь вам нужно настроить /etc/pam.d/common-auth и

настройте /etc/pam.d/common-account.

Мы по-прежнему используем Kerberos для аутентификации, но теперь мы храним информацию, которая обычно хранится в /etc/passwd с помощью Active Directory.

  • логин.defs
  • nscd.conf
  • /var/log/auth.log

Вот пример альтернативной конфигурации: исправлен pam_krb5, чтобы включить поддержку пользователей службы каталогов]

Следует ли очистить эту страницу? Я думаю, что в нем есть много старых ссылок (libnss-ldap.conf, SFU3.5, adam, старые конфигурации pam, которые больше не требуются, много материала ldapsearch, который действительно больше для устранения неполадок, чем что-либо еще, и, конечно, не требуется. Может быть, больше похоже на кулинарную книгу

ActiveDirectoryHowto (последним удаленным пользователем knome 2013-12-14 11:32:55)

Материалы этой вики доступны по бесплатной лицензии, подробности см. в разделе Авторские права / Лицензия
Вы можете внести свой вклад в эту вики, подробности см. в Руководстве по вики

У Microsoft есть свой пакет управления идентификацией, построенный на основе Active Directory, а у Red Hat есть свой сервер каталогов для управления идентификацией. В этой статье я расскажу, как добавить Linux в домен Windows Active Directory. Шаги проверяются путем добавления RHEL/CentOS 7 и 8 Linux в Windows Active Directory, настроенный на Windows Server 2012 R2.

Еще несколько статей на похожую тему:

  • Как подключить клиент Linux к домену Windows AD с помощью realmd с SSSD (CentOS/RHEL 7/8)

1. Обзор инструмента realmd

RealmD – это инструмент, с помощью которого можно легко настроить сетевую аутентификацию и членство в домене. В RHEL/CentOS 7 RealmD полностью поддерживается и может использоваться для присоединения к областям IdM, AD или Kerberos. Основным преимуществом использования realmd является возможность предоставить простую однострочную команду для регистрации в домене, а также настроить сетевую аутентификацию.

  • Стек PAM
  • Уровень NSS
  • Кербер
  • SSSD
  • Винбинд

Система realmd поддерживает следующие типы доменов:

  • Майкрософт Active Directory
  • Управление идентификацией Red Hat Enterprise Linux

Realmd поддерживает следующие клиенты домена:

  • SSSD для RHEL/CentOS Identity Management и Microsoft Active Directory
  • Winbind для Microsoft Active Directory

В следующей таблице перечислены некоторые из наиболее часто используемых команд области:

2. Лабораторная среда

Для демонстрации в этой статье добавления Linux в домен Windows AD на RHEL/CentOS 7/8 мы будем использовать две виртуальные машины, работающие в Oracle VirtualBox, установленном в моей среде виртуализации Linux Server.

У нас есть контроллер домена Active Directory Microsoft Server 2012R2 с IP-адресом 192.168.0.107 и хост CentOS 8 с IP-адресом 192.168.0.117. В этой статье я расскажу только о том, как добавить Linux в домен Windows AD на стороне клиента. Поэтому в этой статье для добавления Linux в домен Windows AD требуется предварительно настроенный Windows Active Directory.

3. Предварительные условия для добавления Linux в домен Windows AD

Прежде чем мы присоединим Linux к домену Windows, нам нужно убедиться, что мы настроили службы времени и службу DNS

3.1 Обновление /etc/resolv.conf

Убедитесь, что клиентский компьютер RHEL/CentOS может разрешать серверы Active Directory. Для этого обновите файл /etc/resolv.conf, указав IP-адрес контроллера домена на клиентском хосте RHEL/CentOS 7/8.

3.2 Проверка разрешения доменного имени

Проверьте, может ли клиент разрешить доменное имя:

Проверьте конфигурацию разрешения имен. В частности, проверьте записи DNS SRV.

3.3 Установка пакетов (RHEL/CentOS 7)

Для серверов с минимальной установкой необходимо установить пакет krb5-workstation, который предоставляет команду klist. Установите пакет adcli вместе с sssd:

  • sssd: демон System Security Services может использоваться для перенаправления проверки подлинности клиента по мере необходимости.
  • adcli: инструменты для присоединения к доменам AD и управления ими.

В системе RHEL у вас должна быть активная подписка на RHN, или вы можете настроить локальный автономный репозиторий, с помощью которого менеджер пакетов "yum" сможет установить предоставленный пакет rpm и его зависимости.

3.4 Установка пакетов (RHEL/CentOS 8)

Следующий список пакетов необходим для интеграции клиента Linux в домен Windows с помощью области.Нам нужен одджоб одджоб-мхомедир, чтобы домашний каталог автоматически создавался для пользователей домена.

4. Использование области для присоединения Linux к домену Windows

Установив все пакеты, мы можем использовать команду realm, чтобы добавить Linux в домен Windows AD и управлять нашей регистрацией. Эта команда является частью добавленного нами пакета realmd.

4.1 Список настроенных доменов

Мы можем использовать подкоманду list, чтобы убедиться, что в данный момент мы не являемся частью домена:

Вывод должен быть пустым.

4.2 Обнаружение доступных доменов в сети

Команда realm discovery возвращает полную конфигурацию домена и список пакетов, которые необходимо установить, чтобы система была зарегистрирована в домене.

4.3 Присоединение клиента Linux к домену Windows

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

  • Выполнение сканирования для указанного домена.
  • Автоматическая установка пакетов, необходимых для присоединения системы к домену.
  • Присоединение к домену путем создания записи учетной записи для системы в каталоге.
  • Создание файла таблицы ключей хоста /etc/krb5.keytab.
  • Настройка домена в SSSD и перезапуск службы.
  • Включение пользователей домена для системных служб в конфигурации PAM и файле /etc/nsswitch.conf.

Изначально я получал следующую ошибку при попытке присоединить мой клиент Linux к домену Windows с помощью области:

В журналах journalctl я нашел следующие журналы:

4.4 Как исправить «KDC не поддерживает тип шифрования»?

Метод-1
В RHEL/CentOS 8 rc4 больше не входит в политику шифрования ПО УМОЛЧАНИЮ, подробности см. в man crypto-policies. К сожалению, это все еще распространенный запасной вариант в AD.

Поэтому мы можем добавить rc4-hmac в /etc/krb5.conf.d/crypto-policies в качестве Allowed_enctypes, как показано ниже.

Теперь вы можете повторить попытку присоединения клиента Linux к домену Windows, используя область:

Метод-2
Здесь мы также добавляем политику шифрования rc4, но вместо использования /etc/krb5.conf.d/crypto-policies мы добавим следующий контент в новый файл в /etc/krb5.conf .d/

Теперь вы можете попробовать подключить клиент Linux к домену Windows, используя область:

Метод 3
Вы можете разрешить слабое шифрование, определив следующее в [libdefaults] в файле /etc/krb5.conf:

Теперь вы можете попробовать подключить клиент Linux к домену Windows, используя область:

5. Убедитесь, что клиент Linux интегрирован в домен Windows

6. Настроить NSS для службы SSSD

Далее нам нужно настроить NSS для аутентификации пользователей в клиенте Linux и создать домашние каталоги для пользователей AD:

6.1 В RHEL/CentOS 7

Вы можете использовать authconfig на сервере RHEL/CentOS 7, чтобы настроить PAM и убедиться, что домашние каталоги пользователей AD создаются автоматически:

Далее включите и запустите/перезапустите Oddjobd.service

6.2 В RHEL/CentOS 8

Мы будем использовать authselect, новую версию authconfig в RHEL/CentOS 8, для настройки PAM-файлов и обеспечения автоматического создания домашних каталогов пользователей AD при входе в клиент Linux:

Далее включите и запустите/перезапустите Oddjobd.service

7. Войдите в систему как пользователь Active Directory на клиенте Linux

Давайте попробуем войти в наш клиент Linux, используя пользователя Windows AD, и проверим, создается ли автоматически домашний каталог. Но сначала нам нужно проверить, может ли наш клиент Linux получить данные о пользователях AD:

Итак, наш пользователь-администратор из AD определяется клиентом Linux, поэтому давайте попробуем переключить пользователя на администратора:

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

8. Выход из домена Active Directory

В некоторых случаях сервер Linux необходимо удалить из домена Active Directory. Часто это тот случай, когда он удаляется из одного домена Active Directory перед добавлением в другой домен Active Directory. Если это необходимо, команда realm упрощает процесс.

Дополнительный параметр: --remove гарантирует, что учетная запись компьютера также будет удалена из домена; в противном случае его следует удалить отдельно.

Обзор

В этой статье мы узнали, как подключить клиент Linux (CentOS/RHEL 7/8) к домену Windows AD с помощью инструмента realmd.Система realmd предоставляет четкий и простой способ обнаружения и присоединения доменов идентификации. Он не подключается к самому домену, а настраивает базовые системные службы Linux, такие как SSSD или Winbind, для подключения к домену.

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

Дополнительная литература

Вы можете прочитать следующие статьи, чтобы узнать больше об интеграции клиента Linux в домен Windows с помощью realmd
Использование realmd для подключения к домену Active Directory
справочная страница krb5.conf [libdefaults]

Похожие поисковые запросы: вход в систему linux с активным каталогом, присоединение сервера linux к активному каталогу, добавление сервера linux в домен Windows, аутентификация активного каталога linux, как добавить систему linux в домен Windows, аутентификация домена linux Windows, интеграция с рекламой в Linux

Похожие записи

Не нашли то, что искали? Выполните быстрый поиск в GoLinuxCloud

Если мои статьи о GoLinuxCloud помогли вам, пожалуйста, купите мне кофе в знак признательности.

Для любых других отзывов или вопросов вы можете использовать раздел комментариев или форму обратной связи.

Спасибо за поддержку!!

4 мысли о «Добавить Linux в домен Windows с помощью области (CentOS/RHEL 7/8)»

Есть ли способ сделать это, не возвращаясь к интерфейсу командной строки?

Вы имеете в виду использование любого инструмента с графическим интерфейсом?

Здравствуйте, после выполнения описанных выше шагов я смог подключиться к домену, но не смог подключиться по SSH к серверу Linux с идентификатором пользователя AD. Что посоветуете?

Читайте также:

Команда Описание
обнаружение области Выполнить обнаружение доменов в сети.
присоединение к области Добавить систему в указанный домен.
выйти из области Удалить систему из указанного домена.
список областей Список всех настроенных доменов для системы или все обнаруженные и настроенные домены.
разрешение области Разрешить доступ для указанных пользователей или для всех пользователей в настроенном домене для доступа к локальной системе
отказать в области Ограничить доступ для указанных пользователей или для всех пользователей в сконфигурированном домене для доступа к локальной системе