Как узнать, находится ли компьютер с Linux в домене

Обновлено: 02.07.2024

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

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

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

Примечание

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

Обнаружение доменов

При запуске без каких-либо параметров команда обнаружения области отображает информацию о домене DNS по умолчанию, который является доменом, назначенным через протокол динамической конфигурации хоста (DHCP):

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

Затем система realmd будет использовать поиск DNS SRV для автоматического поиска контроллеров домена в этом домене.

Примечание

Команда обнаружения области требует, чтобы был запущен NetworkManager; в частности, это зависит от интерфейса D-Bus NetworkManager. Если ваша система не использует NetworkManager, всегда указывайте имя домена в команде обнаружения области.

Система realmd может обнаруживать как домены Active Directory, так и домены управления идентификацией. Если в вашей среде существуют оба домена, вы можете ограничить результаты обнаружения определенным типом сервера, используя параметр --server-software. Например:

Одним из атрибутов, возвращаемых при поиске обнаружения, является login-policy , который показывает, разрешено ли пользователям домена входить в систему после завершения присоединения. Если по умолчанию входы в систему запрещены, вы можете разрешить их вручную с помощью команды разрешения области. Подробнее см. Раздел 3.7, «Управление разрешениями на вход для пользователей домена».

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

Важно

Обратите внимание, что домены Active Directory требуют использования уникальных имен компьютеров. И NetBIOS-имя компьютера, и его DNS-имя хоста должны быть однозначно определены и соответствовать друг другу.

По умолчанию присоединение выполняется от имени администратора домена. Для AD учетная запись администратора называется Administrator ; для IdM он называется admin . Чтобы подключиться от имени другого пользователя, используйте параметр -U:

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

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

Команда присоединения к области поддерживает несколько других параметров конфигурации. Дополнительные сведения о команде присоединения к области см. на справочной странице области (8).

Пример 3.1. Пример процедуры регистрации системы в домене

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

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

Проверка конфигурации системы после присоединения к домену

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

Убедитесь, что утилита id выводит ту же информацию, что и команда id user@domain_name из первого шага.

Утилита kinit также полезна при проверке успешности присоединения к домену. Обратите внимание, что для использования утилиты должен быть установлен пакет krb5-workstation.

Нужно ли вам централизованно управлять системами Linux и учетными записями пользователей в домене Active Directory? Вот как это сделать.

Опубликовано: 13 октября 2020 г. | Эдем Афеньо

Добавление системы Linux в домен Active Directory

Microsoft Active Directory (AD) — это служба каталогов, к которой обращаются многие организации. Если вы и ваша команда отвечаете за смешанную среду Windows и Linux, вы, вероятно, захотите централизовать аутентификацию для обеих платформ. Я расскажу, как добавить компьютеры Linux в домен Active Directory.

Active Directory и потребность в централизованном управлении доступом

Дополнительные ресурсы по Linux

Компания Microsoft Active Directory, более известная как AD, уже много лет занимает львиную долю рынка средств управления корпоративным доступом.Он используется учреждениями и отдельными лицами во всем мире для централизованного управления доступом к ресурсам, принадлежащим организации. Это дает вам возможность управлять пользователями, паролями, ресурсами, такими как компьютеры, и определять, кто имеет доступ к чему. Для некоторых из вас, читающих эту статью, особенно для тех, кто работает в крупных учреждениях, раньше взаимодействовали с AD. Обычно при взаимодействии используется один набор учетных данных для входа на любую рабочую станцию ​​в организации. Это лишь верхушка большого айсберга.

Представьте себе набор из 40 компьютерных систем и 70 пользователей в фирме. Некоторые сотрудники работают по сменам, а другие работают по обычному графику. Некоторые имеют доступ к печати; другие нет. Традиционный способ работы заключается в создании локальных учетных записей пользователей на каждом компьютере, к которому пользователь должен получить доступ. Представьте себе нагрузку на группу поддержки конечных пользователей. Когда пользователь меняет свой пароль по какой-либо причине, этот пользователь должен изменить пароль на всех компьютерах, к которым у него ранее был доступ, чтобы обеспечить синхронизацию. В ближайшее время будет хаос. Теперь представьте, что два сотрудника уходят в отставку. Мне не нужно рассказывать вам о монотонной работе, которую приходится повторять каждый раз при смене штатного расписания или каких-либо рабочих мест. Для ИТ-команд это кошмар. Время, которое можно было бы использовать для решения инновационных задач, теперь тратится на изобретение велосипеда. Я даже не говорил об управлении доступом к принтерам.

Именно здесь процветает такая служба каталогов, как Active Directory. Это может буквально спасти жизнь. В Active Directory каждый пользователь создается уникальным образом как объект в центральной базе данных с единым набором учетных данных. Каждая компьютерная система также создается как объект. Автоматически каждый пользователь может получить доступ к каждой рабочей станции с одним и тем же набором учетных данных. Любые изменения учетных записей, которые необходимо внести, вносятся один раз в центральную базу данных. Сотрудники могут получить доступ к принтерам, используя тот же набор учетных данных. Для этого механизм аутентификации принтеров может быть объединен с AD. Счастливые пользователи, счастливая ИТ-команда.

С помощью групп и организационных подразделений можно настраивать и поддерживать доступ к различным ресурсам. Становится еще лучше. Этот каталог может хранить номера телефонов сотрудников, адреса электронной почты и может быть расширен для хранения другой информации. А если кто-то уволится? Без проблем. Просто отключите учетную запись пользователя. Доступ этого человека ко всем ресурсам аннулируется на месте. Чем крупнее организация, тем больше потребность в централизованном управлении. Это экономит время; это экономит эмоции.

По сути, служба каталогов — это просто организованный способ систематизации всех ресурсов в организации, облегчающий доступ к этим ресурсам. По сути, AD — это своего рода распределенная база данных, доступ к которой осуществляется удаленно через протокол облегченного доступа к каталогам (LDAP). LDAP — это открытый протокол для удаленного доступа к службам каталогов через среду, ориентированную на соединение, такую ​​как TCP/IP. AD — не единственная служба каталогов, основанная на стандарте x.500 или к которой можно получить доступ с помощью LDAP. Другие службы каталогов включают OpenLDAP и FreeIPA. Однако AD — это зрелая служба на основе Windows, которая встроена в системы Windows Server. Другими словами, если в вашей организации много систем Windows, она автоматически станет победителем. Это одна из причин его повсеместного распространения. Службы каталогов, такие как FreeIPA, основаны на Linux и обеспечивают отличный сервис для стабильной версии Linux. Когда резина отправляется в путь, выбор сводится к тому, какой из двух вы можете быстро настроить, учитывая текущую среду и набор навыков вашей команды.

Но что происходит, когда вы выбираете AD и у вас есть несколько серверов CentOS, и вы не хотите поддерживать отдельный набор учетных данных для своих пользователей Linux? Этих накладных расходов можно полностью избежать. Что вам нужно сделать, так это присоединить серверы Linux к домену AD, как вы бы сделали это с сервером Windows.

Если это то, что вам нужно сделать, читайте дальше, чтобы узнать, как это сделать. Можно присоединить систему Windows к домену FreeIPA, но это выходит за рамки данной статьи.

Предварительные условия

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

  • Учетная запись в AD с правами, необходимыми для присоединения системы к домену.
  • Сервер Linux (для этой демонстрации использовался сервер CentOS 7).
  • Контроллер домена.
  • Убедитесь, что ваш Linux-сервер знает, как найти контроллер домена через DNS.

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

Пакеты для установки

Для этой конфигурации необходимо установить пакет realmd .Помимо realmd, для этого необходимо установить множество пакетов.

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

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

Realmd (взаимодействует с доменом)

Теперь, когда все пакеты установлены, первое, что нужно сделать, — это присоединить систему CentOS к домену Active Directory. Для этого мы используем приложение realm. Клиент realm устанавливается одновременно с realmd. Он используется для присоединения, удаления, управления доступом и выполнения многих других задач. Вот ожидаемый синтаксис для простого присоединения к домену:

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

Укажите пароль при появлении запроса и дождитесь завершения процесса.

присоединение к области --user=fkorea Hope.net command

Не позволяйте кратковременному отсутствию вывода обмануть вас. В рамках этого процесса выполняется ряд операций. Вы можете включить переключатель -v для более подробного вывода. Однако лучший способ проверить, является ли компьютер теперь членом домена, — запустить команду списка областей. Команда пытается отобразить текущее состояние сервера относительно домена. Это быстрый и грязный способ узнать, какие группы или пользователи могут получить доступ к серверу.

Посмотрите на результат:

Вывод команды списка областей

Кроме того, с самого начала довольно просто поместить вновь созданный компьютерный объект AD в определенную организационную единицу (OU). Я оставлю это для дальнейшего чтения, но в качестве подсказки вы можете обратиться к справочной странице. Используя клиент области, вы можете предоставить или отозвать доступ к пользователям и группам домена. Глубокого погружения в более тонкое использование realmd достаточно, чтобы написать еще одну статью. Однако не лишним будет выделить вашему вниманию несколько параметров, а именно клиентское ПО и серверное ПО. Теперь вы должны понять, почему нам пришлось установить так много пакетов.

Чтобы полностью покинуть домен, нужно два слова: realm leave

Дальнейшая настройка

Итак, теперь, когда сервер Linux является частью домена AD, пользователи домена могут получить доступ к серверу со своими обычными учетными данными. Мы закончили, верно? Неправильно. "В чем проблема?" Я слышу, как ты говоришь.

Ну, для начала, это базовая конфигурация, которая поможет вам приступить к работе. Но опыт неуклюжий, мягко говоря. Нам нужно дополнительно настроить службу, чтобы придать ей истинное ощущение AD. Это должно быть похоже на вход на рабочую станцию ​​Windows 10, присоединенную к домену.

Во-вторых, в комнате системных администраторов есть большой слон, который называется динамическими обновлениями DNS (DynDNS). Если он настроен неправильно, мы создаем дополнительные накладные расходы, поскольку нам приходится поддерживать записи DNS вручную. Для среды, которая сильно зависит от DNS, это может быть проблемой. Для систем Windows присоединение системы к домену означает, что две записи автоматически управляются и поддерживаются на DNS-сервере. Когда IP-адреса меняются, это изменение автоматически отражается в DNS. Это означает, что вы можете изменить IP-адреса систем без затрат на ручное обслуживание. Это будет иметь смысл только для тех, кто уже использует преимущества DNS в своей среде. Помимо заметного повышения производительности за счет автоматизации, важно, чтобы среды Windows и Linux работали одинаково.

Третья проблема — очистка DNS. В домене Active Directory DNS обычно предоставляется контроллерами домена. Каждая система, присоединенная к домену, имеет автоматическую запись DNS с соответствующим IP-адресом. Это супер удобно. Автоматически с заданным интервалом устаревшие записи DNS удаляются, чтобы предотвратить ошибочно направленные пакеты, а также позаботиться об удаленных компьютерных объектах. Это называется очисткой и не включено по умолчанию в AD. Однако, если он включен, нам нужно его настроить. Как правило, интервал очистки составляет семь дней. Если по истечении этого периода запись не обновлялась, она удаляется, если только это не статическая запись. Для систем Windows функция динамических обновлений настраивается автоматически. Однако для серверов Linux необходимо внести несколько изменений.Если этого не делать, через какое-то время сервисы перестанут работать, потому что их записи удалены из DNS, и никто не знает, как добраться до их составных частей.

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

SSSD (упрощенный вход и динамические обновления)

sssd в системе Linux отвечает за предоставление системе доступа к службам проверки подлинности из удаленного источника, такого как Active Directory. Другими словами, это основной интерфейс между службой каталогов и модулем, запрашивающим службы аутентификации, realmd. Его основной файл конфигурации находится в /etc/sssd/sssd.conf. По сути, это основной файл конфигурации, который мы будем модифицировать.

Давайте посмотрим на его содержимое перед настройкой. Как только вы присоединяетесь к домену, он немедленно модифицируется, чтобы содержать минимум информации, необходимой для успешного входа в систему. Мой файл выглядел так:

Аутентификация единого входа (SSO) реализована в большинстве организаций из-за доступа к нескольким приложениям.

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

Некоторое время назад мы написали статью о том, как интегрировать систему Linux с AD.

Сегодня мы собираемся показать вам, как несколькими способами проверить, интегрирована ли система Linux с AD.

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

  • Команда ps: создает снимок текущих процессов.
  • Команда id: печатает идентификатор пользователя.
  • Файл /etc/nsswitch.conf: файл конфигурации коммутатора службы имен.
  • Файл /etc/pam.d/system-auth: это общий файл конфигурации для PAMified-сервисов.

Как проверить, интегрирован ли сервер Linux с AD с помощью команды PS?

Команда ps отображает информацию о выбранных активных процессах.

Чтобы интегрировать сервер Linux с AD, нам нужно использовать службу winbind, sssd или ldap.

Итак, используйте команду ps для фильтрации этих служб.

Если вы обнаружите, что какая-либо из этих служб запущена в системе, мы можем решить, что система в настоящее время интегрируется с AD с помощью службы «winbind», «sssd» или «ldap».

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

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

Как проверить, интегрирован ли сервер Linux с AD с помощью команды id?

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

Если система Linux интегрирована с AD, вы можете получить вывод, как показано ниже. GID ясно показывает, что пользователь пришел из AD «пользователей домена».

Как проверить, интегрирован ли сервер Linux с AD с помощью файла nsswitch.conf?

Файл конфигурации переключателя службы имен (NSS), /etc/nsswitch.conf, используется библиотекой GNU C и некоторыми другими приложениями для определения источников, из которых можно получить информацию о службе имен в ряде категорий, и в каком порядке. Каждая категория информации идентифицируется именем базы данных.

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

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

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

Как проверить, интегрирован ли Linux-сервер с AD с помощью файла system-auth?

Это общий файл конфигурации для PAMified сервисов.

PAM означает Pluggable Authentication Module, который обеспечивает поддержку динамической аутентификации для приложений и служб в Linux.

файл конфигурации system-auth предоставляет общий интерфейс для всех приложений и сервисных демонов, вызывающих библиотеку PAM.

Файл конфигурации system-auth включается практически из всех файлов конфигурации отдельных служб с помощью директивы include.

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

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

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

Гэри Ньюэлл был внештатным сотрудником, разработчиком приложений и тестировщиком программного обеспечения с более чем 20-летним опытом работы в сфере ИТ, работая с Linux, UNIX и Windows.

Несколько связанных команд раскрывают или изменяют имя хоста вашего компьютера.Это стандартные команды, которые должны работать независимо от вашего дистрибутива Linux.

Команда 'имя хоста'

команды доменного имени linux shell

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

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

Вы можете получить только имя компьютера, выполнив следующую команду:

В качестве альтернативы можно просмотреть только имя домена, выполнив следующую команду:

Некоторые оболочки Linux включают имя хоста как часть приглашения оболочки.

Команда «имя домена»

Вместо использования имени хоста с ключом -d для возврата имени домена выполните следующую команду:

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

Команда domainname возвращает имя домена NIS системы.

NIS означает сетевую информационную систему. NIS — это система клиент/сервер на основе удаленного вызова процедур, которая позволяет группе компьютеров в домене NIS совместно использовать общий набор файлов конфигурации. Такое расположение позволяет системному администратору настраивать клиентские системы NIS с минимальными данными конфигурации, а также добавлять, удалять или изменять данные конфигурации из одного места.

Команда dnsdomainname

Команда dnsdomainname возвращает доменное имя DNS. Запустите его, введя в терминал следующее:

Если вы не используете веб-сервер, ваш компьютер не будет иметь доменного имени DNS, и выполнение команды dnsdomainname либо ничего не вернет, либо вернет локальный хост.

Настройка доменного имени NIS

Установите доменное имя NIS для вашего компьютера с помощью следующей команды:

Возможно, вам понадобится sudo, чтобы повысить права доступа.

Файл /etc/hosts

Файл /etc/hosts в NANO для Ubuntu на WSL

В окне терминала выполните следующую команду, чтобы открыть файл hosts в редакторе Nano:

sudo nano /etc/hosts

Вы увидите несколько строк текста в файле /etc/hosts, как показано выше:

Первая часть — это IP-адрес компьютера, вторая часть — имя компьютера. Чтобы навсегда добавить домен NIS для компьютера, измените строку следующим образом:

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