Вы здесь

Подключение Linux в домен Active Directory

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

Радует, что производители дистрибутивов обратили внимание на эту проблему и стали предлагать простые и удобные средства по подключению к AD. Рассмотрим на примере дистрибутива Ubuntu версии 8.04.

Заходим в меню Приложения -> Установка/удаление, выбираем показать Все доступные приложения

В строке поиск задаем имя пакета Likewise, щелкаем слева от его описания по галочке. Система сообщит, что эта программа поддерживается сообществом и попросит подтвердить установку. Нажимаем кнопку Включить:

После этого нажимаем кнопку Применить изменения:

Очередной раз нажимаем Применить:

Система скачивает необходимы пакеты и производит их установку:

После чего нажимаем кнопку Закрыть и выходим из программы установки:

Заходим в меню Система -> Администрирование -> Likewise:

Вводим в поле Domain полное DNS-имя (!) домена вида domain.local и нажимаем кнопку Join Domain. Появится диалог, где система спросит учетные данные доменной записи с правами администратора, вводим их:

Через несколько секунд система сообщит, что все готово:

Нажимаем кнопку Закрыть и выходим из программы:

Теперь необходимо проверить работу. Нажимаем на кнопку завершения работы и выбираем действие Смена пользователя:

На экране входа в систему вводим имя и домен существующего пользователя в формате DOMAIN\user, где DOMAIN - короткое или длинное имя домена:

Все! Мы зашли под доменной учетной записью. Теперь при смене пользователя (например, ушел из компании старый человек и пришел на его место новый) никаких изменений на Linux машине вносить не надо. О просто зайдет под выданной учетной записью в систему.

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

Проблема Error при входе в компьютер

На некоторых машинах появляется такое сообщение при попытке ввода имени и пароля доменного пользователя после загрузки:

Корень проблемы заключается в том, что сетевой интерфейс стартует позже, чем служба, ответственная за подключение к домену AD. Поправить несложно: с правами администратора создаем новый файл /etc/network/if-up.d/winbr, например с помощью терминала (мы не ищем легких путей ;-) ):

В открывшемся редакторе добавляем в этот файл содержимое:

#!/bin/sh
/etc/init.d/likewise-open restart

Это указывает системе при любом изменении статуса сетевого интерфейса перезапускать соответствующую службу likewise-open. Возвращаемся в терминал в устанавливаем этому файлу флаг исполняемый:

командой sudo chmod +x /etc/network/if-up.d/winbr. После перезапуска системы проблема с сообщением Error исчезнет.

Как использовать доменных пользователей в Linux?

  • Изменение владельца файла на доменную группу (здесь доменная группа называется Domain Users):
    chown root:'DOMAIN\Domain Users' test.file
  • Входим в доменный компьютер по SSH (требует установленной службы openssh-server):
    ssh 'DOMAIN\t.user'@10.10.10.10
  • Добавляем вручную пользователя в локальную группу:
    DOMAIN\t.user@buh2:~$ sudo adduser 'DOMAIN\t.user' adm
  • Добавляется пользователь DOMAIN\t.user в группу `adm' ...
  • Добавление пользователя DOMAIN\t.user в группу adm
  • Готово.

Автоматическое обновление имени машины на DNS сервере Windows

Очень удобно настроить работу автоматической регистрации имени пользовательских машин в DNS (аналогично поведению рабочих станций Windows), если они получают IP адрес через DHCP. Чтобы машина с Ubuntu прописывалась в DNS, нужно в файле */etc/dhcp3/dhclient.conf* добавить три строчки:

send fqdn.fqdn "workstation.domain.ru.";
send fqdn.encoded off;
send fqdn.server-update off;

,где “workstation.domain.ru” - обязательное полное fqdn имя машины.

Даем возможность доменным администраторам (или может быть кому-то еще) выполнять sudo

В примере используется домен DOMAIN и доменная группа Domain Admins. Добавляем в файл */etc/sudoers* строчку:

%DOMAIN\\Domain\ Admins ALL=(ALL) ALL
Обратите внимание, что этот файл редактировать напрямую нельзя, следует использовать такую утилиту как visudo с правами администратора.

Single Sign-On (SSO)

Глупо использовать повторный ввод доменного пароля для подключения к другим ресурсам, если вы уже авторизовались один раз при входе в систему. Такая замечательная вещь как Single Sign-On (единая служба входа) позволит использовать протокол Kerberos для прозрачной авторизации. Рассмотрим типичный пример: у нас существует корпоративное web-приложение на базе Windows Server, которое раздает права в соответствии с авторизацией пользователей. Естественным образом активирована доменная авторизация, которая позволяет сотрудникам с Windows-машин не вводить повторно свои логины и пароли.

Как это сделать для Linux-машин? Проще простого, берем Firefox, вводим в адресной строке *about:config*, ищем два параметра и меняем их на:

network.negotiate-auth.delegation-uris = http://,https://

network.negotiate-auth.trusted-uris = http://,https://
Теперь любой внутренний сайт, требовавший пароль, будет открываться без его запроса.

Аналогично этому настраиваются беспарольный вход по SSH (даже при помощи Putty с Windows-машин!), FTP, rlogin, LDAP и прочие службы. Все это более детально описано в Руководстве администратора.
Оригинал статьи: http://techwork.ru/2008/08/09/join-linux-to-domain/