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

Обновлено: 02.07.2024

Windows или Linux? Наверное, нет ни одного системного администратора, который не задумывался бы над этим вопросом. О плюсах и минусах операционных систем Open Source и продуктов Microsoft написаны гигабайты текстов, ожесточенные споры не утихают уже много лет. Наблюдая за этими баталиями, хочется лишь одного – гармонии.

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

Или другой пример – есть отдел разработчиков под UNIX, которым удобнее и комфортнее использовать на рабочей станции Linux. Как можно заметить, причины внедрения Linux-десктопов в организации могут быть различные. При этом в вашей организации есть домен Active Directory, все пользователи имеют свои учетные записи, собственные папки на файловом сервере и разные права на свои рабочие станции. Подобные удобства всем хотелось бы сохранить и на рабочих станциях под Linux, особенно системному администратору, поскольку централизованная авторизация и хранение данных пользователей на сервере уменьшают его головную боль.

Статья представляет собой пошаговое руководство, как «подружить» рабочие станции Linux с доменом Active Directory.

Домен Active Directory под управлением одного или более контроллеров домена на базе Windows Server 2003; в качестве Linux-десктопа используется Kubuntu 7.10

  • Обеспечить единую аутентификацию пользователей.
  • Обеспечить авторизацию пользователей в домене Active Directory.
  • Обеспечить прозрачную и сквозную авторизацию на ресурсах сети (SSO – Single Sign-On).
  • Обеспечить хранение пользовательских данных на сервере.

Про последний пункт хотелось бы сказать следующее: в данном примере в качестве файлового сервера используется Windows-сервер. Поэтому речь идет только о хранении данных пользователей. Сохранять профиль UNIX-пользователя на сервере не представляется возможным, так как в качестве Linux-десктопа используется Kubuntu 7.10 со встроенным экранным менеджером KDE. В процессе создания профиля пользователя KDE создает символьные ссылки (symlink), которые необходимы для корректной работы. Естественно, что создать symlink в файловой системе NTFS на Windows Server 2003 не получится.

Условно всю работу можно разделить на следующие этапы:

  • Модернизация схемы Active Directory.
  • Настройка атрибутов будущих UNIX-пользователей и групп.
  • Настройка рабочей станции с Kubuntu.
  • Настройка ресурсов сети (веб-серверов, службы ssh и т. д.) для обеспечения прозрачной и сквозной авторизации пользователей.

Модернизация схемы Active Directory

В классической схеме AD невозможно хранить атрибуты UNIX-пользователей, такие как UID, GID, Login Shell, Home Directory. Поэтому схему необходимо расширить, добавив в нее возможность хранения нужных нам сведений. Для этого существует два варианта: первый – это бесплатный пакет Microsoft под названием Windows Services for UNIX 3.5 (SFU), второй – это использование последней версии семейства серверов 2003 – Windows Server 2003 R2. Мы будем использовать второй вариант. Если ваши контроллеры домена и файловые серверы уже работают под релизом R2, можно смело пропустить несколько абзацев, касающихся обновления стандартного Windows Server 2003 до R2.

Windows Server 2003 R2 – версия Windows Server 2003, имеющая встроенные компоненты Windows Services for UNIX (SFU), необходимые нам при создании гетерогенной среды для хранения атрибутов UNIX-пользователей в схеме Active Directory. Релиз R2 включает в себя два важных компонента:

  • Subsystem for UNIX-based Applications (SUA);
  • Identity Management for UNIX (IMU).

SUA помогает UNIX-приложениям работать под Windows так, как будто они работают в Linux или UNIX. Это выходит за рамки нашей статьи, поэтому мы сфокусируем внимание на компоненте IMU, которая содержит нужные в дальнейшем службы – Administration Components, Password Synchronization, Server for NIS, их установку мы сейчас и рассмотрим.

где X – буква, соответствующая CD с дистрибутивом. После чего можно начать установку компонентов R2, выполнив файл R2auto.exe из корневой директории CD.

После установки компонентов R2 нужно в панели управления в разделе установки и удаления программ выбрать пункт «Windows Components», затем найти строчку «Active Directory Services» и в детализации выбрать установку «Identity Management for UNIX».

После завершения установки необходимо будет перезагрузить сервер.

Настройка атрибутов будущих UNIX-пользователей и групп

Откройте оснастку Active Directory User and Computers и вызовите свойства любого пользователя. Появилась новая закладка UNIX Attributes, в которой возможно назначить свойства UNIX-пользователя (см. рисунок). Для начала нам нужно создать несколько UNIX-групп, которые пригодятся нам в дальнейшем.

Свойства UNIX-пользователя - UNIX attributes

Создайте группу UNIXusers – это будет группа по умолчанию для всех UNIX-пользователей. Для этого создайте обычным способом группу нужного вам вида (Domain Local или Global), затем откройте свойства данной группы и перейдите на вкладку «UNIX Attributes». В строке «NIS Domain» выберите ваш домен, после чего группе автоматически будет присвоен GID. Если он не устраивает вас по какой-то причине, можете прописать новый идентификатор вручную. При создании следующих групп GID будет автоматически увеличиваться на единицу.

Аналогичным способом создайте группу UNIXadmins, которая затем будет указана в настройках конфигурационного файла /etc/sudoers как группа, членам которой разрешено выполнять sudo на рабочих станциях с Kubuntu.

Создайте еще одну группу и назовите ее audio, присвоив ей вручную GID 29. Дело в том, что в Linux есть одна особенность – файлы аудиоустройств, как правило, имеют общую группу таким образом, что возможность работы с аудио доступна только владельцам файлов и членам этой группы. В эту группу потом добавим всех пользователей, чтобы у них была возможность использовать наушники и микрофон.

Теперь выберите одного из тех пользователей вашего домена, которому вы хотите присвоить UNIX-атрибуты. В свойствах откройте вкладку «UNIX Attributes», так же как и для группы, выберите имя вашего домена в строке «NIS Domain», и в строке «Primary group name/GID» выберите группу по умолчанию UNIXusers.

Если необходимо по каким-то причинам изменить параметры Login Shell и Home Directory, можно это сделать. UID присвоится автоматически, но при желании можно прописать его вручную.

После присвоения UNIX-атрибутов всем нуждающимся в них пользователям вернемся к группам. Открыв свойства группы UNIXusers, на вкладке «UNIX Attributes» нажмите кнопку «Add» и добавьте туда всех пользователей.

Аналогично поступим с группой audio, а в группу UNIXadmins внесем только тех пользователей, кому разрешено выполнение sudo на рабочих станциях.

Теперь остается только создать нового пользователя, например unixldap, и присвоить ему соответствующие атрибуты. Учетная запись этого пользователя будет использоваться при регистрации и поиске в LDAP с Linux-десктопа, поэтому её необходимо максимально ограничить в правах, допустим, явно запретив доступ ко всем ресурсам файлового сервера и т. д.

На этом работы с оснасткой «Active Directory User and Computers» закончены.

Немного о настройке файлового сервера для работы с UNIX-клиентами

В данном примере монтирование домашних каталогов пользователей осуществляется с использованием CIFS (Common Internet File System).

Если для каких-нибудь задач вам потребуется работа с NFS (Network File System), то для обеспечения доступа к файловым ресурсам вашего Windows-сервера с Linux-десктопов необходимо будет установить на сервер пакет Microsoft Services for NFS. Привожу краткое руководство, как это сделать.

Зайдите в панель управления, затем в разделе установки и удаления программ выберите пункт «Windows Components», там войдите в «Other Network File and Print Services» и в детализации выберите установку «Microsoft Services for NFS». Из данного пакета необязательными к установке являются два последние пункта: Server for NFS Authentication и User Name Mapping. После установки данных служб пользователи с рабочих станций под управлением Linux получат доступ к файловым ресурсам данного сервера, используя NFS.

Настройка рабочей станции с Kubuntu

Теперь приступим к самой большой части работы – настройке Kubuntu. Сначала выполните установку Kubuntu 7.10 на рабочую станцию, после чего установите все необходимые обновления, например, используя встроенный в KDE менеджер обновлений Adept Updater.

Также рекомендуется изменить параметры входа в систему для KDE (в других экранных менеджерах могут быть отличия) – открываем меню «System Settings», переходим на закладку «Advanced», там выбираем «Менеджер входа в систему», и, войдя в административный режим, отключаем опцию «Показывать список» на вкладке «Пользователи». Если этого не сделать, система при входе будет отображать всех UNIX-пользователей вашего домена, что совершенно ни к чему.

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

Поэтому первым пунктом настроим синхронизацию времени. Для этого в файле /etc/default/ntpdate внесем следующие изменения:

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

Указываем FQDN для настраиваемой рабочей станции в файле /etc/hosts:

Проверьте доступность машины по FQDN командой:

Теперь необходимо установить и настроить поддержку Kerberos. Устанавливаем нужные пакеты:

$sudo apt-get install krb5-user libpam-krb5 krb5-config libkrb53 krb5-doc

Если система выдала ошибку :

последуйте совету подсказки, наберите:

$sudo dpkg –-configure –a

В процессе вас попросят принять решение о замене файла /etc/qt3/qt_plugins_3.3rc – согласитесь с вариантом по умолчанию, оставьте текущую версию без изменений. Данная ошибка иногда проявляется в версии 7.10 после первой установки обновлений.

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

С версии alterator-auth 0.28 синхронизация времени производится автоматически с контроллером домена.

Для более ранних версий:

А на клиенте — служба settime-rfc867 :

В Центре управления системой перейдите в раздел Пользователи → Аутентификация

Для ввода компьютера в Active Directory потребуется установить пакет task-auth-ad-sssd и все его зависимости.

Qwe.jpg

В /etc/lightdm/lightdm.conf раскомментируйте строку в группе [SeatDefaults] :

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

Также полезно выключить выбор языка. В файле /etc/lightdm/lightdm-gtk-greeter.conf в группе [greeter] укажите

В новых версиях lightdm-gtk-greeter можно указать кнопки явно:

Полный перечень доступных кнопок:

Примечание: В lightdm-gtk-greeter, начиная с версии 2.0.7-alt2 , можно настроить автоматическое заполнение поля «Имя пользователя» именем последнего пользователя входившего в систему. Для этого в файле /etc/lightdm/lightdm-gtk-greeter.conf (группа [greeter] ) необходимо указать: Примечание: Первые два пункта данного раздела выполняются автоматически, если АРМ вводится в домен с помощью task-auth-ad-sssd

Добавляем роль локальных администраторов:

Примечание: Лучше использовать группу localadmins (вместо admins) по избежание конфликта с группой admins во FreeIPA


Создаём привилегию на право удалённого доступа (по протоколу ssh):

Включаем удалённый доступ только для группы remote:

Настраиваем список привилегий для пользователей (для роли users):

Настраиваем список привилегий для администраторов (для роли admins):

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

Просматриваем список назначенных ролей и привилегий:

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

Соответственно, если надо выдать права администраторов АРМ пользователям, которые не являются Domain Admins, то нужно завести новую группу в AD (например, PC Admins), добавить туда необходимых пользователей. Затем на АРМ добавить роль для данной группы:

После этого (и после разрешения sudo для группы wheel) под пользователем входящим в группу PC Admins можно запускать команду повышения прав sudo.

Рассматриваемые способы позволяют подключать файловые ресурсы (file shares) для доменного пользователя без повторного ввода пароля (SSO, Single Sign-On).

Примечание: Способ актуален для дистрибутивов, использующих gio (ранее — gvfs) (например, Кентавр, Simply Linux, Basealt Workstation, СПТ).


Недостаток такого способа — необходимо открыть ресурс в файловом менеджере (Caja, Pcmanfm). Однако можно открывать любые ресурсы на любых серверах, входящие в домен Active Directory.

1. Устанавливаем необходимые пакеты (с правами root):

2. Включаем пользователя в группу fuse (с правами root):

Внимание! Начиная с p9 членства в группе fuse недостаточно, требуется разрешить для всех доступ к fuse под root:

Другой вариант (полезно для скриптов в автозапуске):

Примечание: Если необходимо открывать что-то с ресурса в WINE, в winecfg добавьте диск с путём /var/run/<uid_пользователя>/gvfs .

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

1. Устанавливаем pam_mount :

2. Прописываем pam_mount в схему /etc/pam.d/system-auth-sss :

(перед auth substack system-auth-sss-only )

и в секцию session:


3. Устанавливаем правило монтирования ресурса в файле /etc/security/pam_mount.conf.xml (перед тегом <cifsmount>):

  • uid="10000-2000200000" — диапазон присваиваемых для доменных пользователей UID (подходит и для Winbind и для SSSD)
  • server="c228" — имя сервера с ресурсом
  • path="sysvol" — имя файлового ресурса
  • mountpoint="

Опционально можно добавить

  • sgrp="group_name" — имя группы, при членстве пользователя в которой, папка будет примонтирована
Внимание! Обязательно указывайте настоящее имя сервера в параметре server , а не имя домена Внимание! По умолчанию для монтирования используется smb версии 1.0, если у вас он отключен, то укажите в параметрах версию 2 или 3.


Для проверки можно попробовать смонтировать ресурс в сессии:

Также можно проверить доступность ресурса с помощью smbclient, например:

В этом случае заданный ресурс подключается автоматически при каждом обращении пользователя. И отключается после определенного времени бездействия (определяется конфигуацией Autofs).

1. Устанавливаем kde5-autofs-shares :

2. Следуем инструкции по подключению в разделе Альт_Рабочая_станция_К_8_советы.

Групповые политики (GPO) на Linux применяются только контроль входа через SSSD и средства Centrify.

Если вам нужно просто предоставить сетевой доступ к ресурсам Linux компьютера, то смотрите статью Samba.


В этой статье мы опишем как подключить Linux компьютер к домену под управлением Microsoft Active Directory и сделать из него файловый сервер.

После выполнения этой инструкции мы будем иметь в сети файловый сервер под управлением ОС Линукс, входящий в домен Windows 2003 и ничем не отличающийся от файлового сервера под Windows. Пользователи домена смогут обращаться к его ресурсам под своими учётными записями. Доступ регулируется группами домена AD.

По этой инструкции настраивались Debian (4, 5), Ubuntu 9.10, создавалась она на основе официальной документации и многих рекомендаций и инструкций из Интернета. Остальные Linux'ы настраиваются сходным образом.

Проверка требований

  • Проверяем что Samba собрана с поддержкой Kerberos:
  • Также проверим что поддерживается LDAP
  • Для корректной работы Samba в домене Windows 2003 нужны версии MIT Kerberos version >=1.3.1. Проверим:
  • Для корректной работы с Windows 2008 серверами сама Samba должна быть достаточно свежая:

Установка Samba

При настройке krb5-config лучше указывать IP адреса контроллеров домена, а не их DNS имена.

Настройка Samba

Мы описали два общих каталога:

  • backup - доступ имеют только пользователи входящие в группу BackupGroup в Active Directory. Они могут создавать и удалять файлы/каталоги
  • distrib - доступ имеют все пользователи входящие в группу DistribGroup в Active Directory

В приведённой конфигурации подразумевается, что eth0 - это сетевой интерфейс в локальную сеть, где домен имеет полное имя WORKGROUP.DOMAIN.LOCAL

  • редактируем /etc/nsswitch:
  • Проверим, что в /etc/hosts есть корректная запись для нашего сервера, также можно добавить записи для контроллеров доменов:
  • Удаляем если есть (или переносим в резервные копии) файл /etc/samba/secrets.tdb и все файлы из /var/lib/samba/*.tdb
  • Проверяем конфигурацию (не обязательно):
  1. testparm -s

В Ubunto testparm находится в пакете samba-common-bin

  • Проверим как Samba-3 winbind общается с контроллером домена Active Directory посредством протокола Kerberos:

На рассхождение времени в секундах указывает строка "Server time offset: -5". Обратите внимание, что протокол Kerberos зависим от времени, и расхождение с часами контроллера домена допускается лишь незначительное, поэтому желательно настроить NTP клиент (см. статьи по настройке NTP). В Ubuntu это указывается в файле /etc/default/ntpdate:

  • В Debian (и его сыновьях, таких как Ubuntu и внуках вроде Linux Mint) при установке пакета krb5-cofig сразу предлагается его настройка. Лучше всего попробовать работать с этими настройками, но если ничего предложено не было или мы хотим что-то изменить, то редактируем /etc/krb5.conf (я для более стабильной работы использовал ip адреса вместо имён серверов):
  • Проверим работает ли Kerberos, постараемся получить билет и просмотреть его:
  • Удалим полученный билет:
  • Присоединяемся к домену:

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

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

  • Для удобства отладки сделаем ссылку на каталог журналов:
  • Запускаем samba и winbind:
  • Для проверки правильно ли подключение к домену можно посмотреть список пользователей и групп домена (не обязательно):

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

  • Проверяем, как работает NSS. Команда getent показывает инфо о пользователе, который может быть как в домене, так и юниксовый:
  • Теперь можно использовать ресурсы на линукс-сервере, на которые мы дали доступ, как обычные доменные ресурсы.

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

  • Можно также сопоставить (но это не обязательно) локальные учётные данные и из домена Windows. Для сопоставления пользователей редактируем файл /etc/samba/smbusers.conf:
  • для сопоставления (мапирования от англ. Map) групп домена и групп UNIX выполняем:
  • После того как всё отлажено, можно понизить уровень записи в журнал до "1". В /etc/samba/smb.conf:

Доступ к Samba из Windows 7 и 2008 r2

Начиная с этих версий параметры авторизации у MS поменялись. Скорее всего Samba вскоре это учтёт, а пока подружить системы можно изменив на Win7 свойства сетевой безопасности:

Пуск - Панель управления - Администрирование - Локальная политика безопасности - Локальные политики - Параметры безопасности

Работа над ошибками

Winbind не запускается

При запуске Samba обнаруживаем, что winbind не запустился:

В журнале log.winbindd обнаруживаем запись:

Видим, что добавлен "встроенный домен" (BUILTIN) и домен "название компьютера" (STORAGE), подключиться к домену AD не удалось.

Решение: Переподключить компьютер в домен. Удалять придётся с самого контроллера, т.к. комадна net ads leave скорее всего не поможет.

Ошибка получения билета Kerberos

При попытке получить билет Kerberos получили:

Решение: указать имя домена в другом регистре. Скорее всего нужны все заглавные

How to join a Linux computer to an Active Directory domain

Linux

подписывайтесь на яндекс дзен

подписывайтесь на мой канал Яндекс дзена!Вы будете первым узнавать о новых материалах!

Вводим в домен Alt Linux

Для того что ввести станцию в домен надо сначала подготовить ее к этому, для этого делаем след шаги:

  1. Выставляем на станции точное время (или время равное с контроллером домена)
  2. Редактируем файл /etc/resolv.conf и прописываем там ДНС контроллера домена

search имяДомена.lcl
nameserver ДНСконтроллераДомена

127.0.0.1 localhost.localdomain localhost
127.0.0.1 имяКомпа.имяДомена имяКомпа

Домен: ИМЯДОМЕНА.LCL
Рабочая группа: ИМЯДОМЕНА
Имя компьютера: имя компьютера

PS соблюдайте регистр.

Сейчас каждый подумает, что это сложно и долго, но если присмотреться, то все эти же действия мы делаем когда вводим в домен нашу станцию под Windows))) так что все не так и сложно!

Окно авторизации с логином

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

показывать логин при входе в домен

что бы в В Alt Linux такое сделать нужно сделать след:

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

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