Сообщество Ubuntu Linux

Путевые заметки • настройки дистрибутивов на базе Ubuntu

Поиск ☜★☞ Yandex

Полезности ☼ Ubuntu

RSS-каналы


Yahoo! 
MSN 
AOL 
Bloglines 

Контакт


    Ввод Ubuntu в домен

    Поделиться

    DrSeele

    Сообщения : 2
    Очки : 4
    Дата регистрации : 2015-05-26

    Ввод Ubuntu в домен

    Сообщение автор DrSeele в Вт 26 Май - 9:11:04

    Здравствуйте! Не получается ввести машину с Ubuntu в домен. Домен поднят на Windows Server 2012.
    Пользовался настройкой с http://help.ubuntu.ru/wiki/ввод_в_домен_windows
    В пункте настройки samba и вход в домен, после команды:

    net ads join -U username -D DOMAIN

    появляется ошибка:

    Failed to join domain: failed to lookup DC info for domain 'DOMAIN' over rpc: Undetermited error

    Еще на сколько я понял, проблема с синхронизацией времени с доменом. Пинг у меня идет по короткому имени(dc) домена и по IP, по длинному имени(dc.domain.ru) не пингуется.

    Подскажите как решить проблему, не судите строго, только начал разбираться Smile
    avatar
    Акбар
    Модератор
    Модератор

    Сообщения : 8
    Очки : 12
    Дата регистрации : 2010-10-13
    Возраст : 38
    Откуда : Кокосовые острова - Уэст-Айленд

    Ubuntu в домене Windows

    Сообщение автор Акбар в Вт 26 Май - 23:50:23

    Посмотрите тут может есть решение

    http://habrahabr.ru/post/174407/

    http://jtprog.ru/ubuntu-in-domen-windows/


    Некоторое время назад на работе достался мне для работы ноутбук HP ProBook 6460b. Ну и пришла в голову идея поставить на него вместо надоевшей Windows 7 Pro давно понравившуюся мне Ubuntu 14.04 Trusty LTS. Выбор операционной системы связан с тем, что Ubuntu я использую на домашнем ноутбуке и мне захотелось иметь такую же систему на рабочем компьютере. Потому, что постоянное переключение между ОСями дома и на работе быстро надоело мне и я решился на установку Ubuntu на рабочем ноуте.
    Начну по порядку.
    Процесс установки Убунты на ноутбук не буду пересказывать потому, что не вижу в этом смысла из-за большого количества таких мануалов на просторах интернета. Скажу только то, что устанавливал с флешки, а образ на флешку писал на рабочем ноутбуке под Windows 7 Pro с помощью программы Rufus. Хватит про установку, перейдем к процессу введения в домен.
    При вводе в домен Windows я пользовался стандартной инструкцией по вводу в домен. В процессе ввода в домен возникали проблемы самого разного характера (в основном связанные с моей невнимательностью и легкой кривизной рук :-) ). Да инструкция на русском языке есть и она довольно хороша, но я все же пользовался не только этой инструкцией, но и другими подсказками с прочих сайтов и форумов. Поэтому я решил собрать из всех одну свою.
    Первое что необходимо сделать это — правильно и вполне логично! — обновиться:

    sudo apt-get update
    sudo apt-get upgrade
    Далее нас потребуется установить клиенты Kerberos, Samba и Winbind для нормальной и адекватной работы в домене Windows. Сделать это можно одной командой:

    sudo apt-get install krb5-user samba winbind
    Лично я пробовал два варианта установки: первый — как указано выше — установка всех необходимых пакетов одной строкой, и второй — установка каждого паке в отдельности. Честно признаюсь, что меня больше устроил и больше понравился вариант отдельной установки каждого пакета. Поясню это тем, что при комплексной установке у меня начальная настройка пакета Kerberos не происходила, и я решил (точнее не решил, а мне пришлось из-за кривизны рук и невнимательности переустанавливать полностью Ubuntu и соответственно все необходимые пакеты) ставить все пакеты по отдельности в вышеуказанном порядке. Это дало свои плоды. На этапе установки пакеты Kerberos произошла его полная настройка где указывались все необходимые параметры для работы в домене (собственно сам домен, необходимые для авторизации DC, рабочие группы или зоны). Далее я поставил Самбу и Винбинд с которыми каких-либо заморочек не было. Так же я установил указанные желательными библиотеки libpam-krb5, libpam-winbind и libnss-winbind. Их я устанавливал одной командой, т.к. они не требуют никаких ручных настроек и просто желательно их присутствие в системе.
    Для простоты и дальнейшей ясности процесса будем считать нашим доменом по умолчанию DOMAIN.RU, доменконтроллером которого будет first.domain.ru с ip-адресом 192.168.1.2. Он же будет нашим первичным DNS сервером домена. Коме того представим в нашем домене еще один доменконтроллер second.domain.ru с ip-адресом 192.168.1.3. Ну и компьютер наш будет называться work-ubuntu.

    Настройка DNS

    Для начала необходимо изменить настройки DNS на вашей машине, прописав в качестве DNS сервера доменконтроллер и в качестве домена поиска — нужный домен.
    Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:

    domain domain.ru
    search domain.ru
    nameserver 192.168.1.2
    nameserver 192.168.1.1
    nameserver 127.0.1.1
    search domain.ru first.domain.ru
    В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf.
    Если IP-адрес динамический и присваивается DHCP сервером то после перезагрузки resolv.conf может формироваться «неправильный» resolv.conf, например присутствует только один nameserver 192.168.1.1 и не указаны domain и search. Нужно отредактировать /etc/dhcp/dhclient.conf. Чтобы появились записи domain и search нужно убрать комментарий перед строкой supersede domain-name, и вписать свой домен:

    supersede domain-name «domain.ru first.domain.ru»;
    Можно было бы добавить еще один nameserver, но я этого делать не стал потому, что у нас в сети компании он единственный. Для применения изменений необходимо перезапустить службу:

    /etc/init.d/networking restart
    Теперь необходимо проверить файл /etc/hostname и убедиться в том, что мы правильно задали имя нашего ноутбука.

    work-ubuntu
    Кроме всего прочего необходимо отредактировать файл /etc/hosts так, чтобы в нем была запись с полным доменным именем и обязательно с коротким именем. У меня получился такой формат:

    127.0.0.1 localhost
    127.0.1.1 work-ubuntu.domain.ru work-ubuntu
    Сразу необходимо проверить, что наш контроллер домена пингуется нормально по короткому и по полному доменному именам:

    ping first
    ping first.domain.ru
    Не обязательно конечно, но как говорится в инструкции «желательно» при внесении каких-либо изменений делать перезагрузку. Лично я так и делал.

    Настройка синхронизации времени

    Тут собственно говоря ничего сложного! Я просто единожды выполнил команду:

    sudo net time set first
    и забыл про это дело. Другие варианты развития я не вижу смысла освещать в статье т.к. они мне не понадобились.

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

    Настройка авторизации по протоколу Kerberos осуществляется простым редактированием файла /etc/krb5.conf. Вот примерный его вид:

    [libdefaults]
    default_realm = DOMAIN.RU

    # The following krb5.conf variables are only for MIT Kerberos.
    krb4_config = /etc/krb.conf
    krb4_realms = /etc/krb.realms
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true

    # The following libdefaults parameters are only for Heimdal Kerberos.
    v4_instance_resolve = false
    v4_name_convert = {
    host = {
    rcmd = host
    ftp = ftp
    }
    plain = {
    something = something-else
    }
    }
    fcc-mit-ticketflags = true

    [realms]
    DOMAIN.RU = {
    kdc = first.DOMAIN.RU
    admin_server = first
    default_domain = DOMAIN.RU
    }

    [domain_realm]
    .domain.ru = DOMAIN.RU
    domain.ru = DOMAIN.RU

    [login]
    krb4_convert = false
    krb4_get_tickets = false
    Вы естественно указываете вместо DOMAIN.RU и first свои домен и контроллер домена. Особое внимание обращаю на соблюдение регистра — все что написано в верхнем регистре пишется в верхнем регистре!

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

    kinit vasya@DOMAIN.RU
    Вместо vasya и DOMAIN.RU вы так же указываете свои имя пользователя и домен. Команда так же регистрозависима! Если вы после выполнения данной команды получаете завпрос на ввод пароля от указанного пользователя и не получаете никаких ошибок, значит у вас все прекрасно. В противном случае еще раз перепроверьте все измененные вами файлы на правильность (внимательно изменяйте все ваши файлы).

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

    klist
    Будем считать, что авторизация вы настроили и билет получен. Теперь настроим вход в домен.

    Настройка Samba и вход в домен

    Для того, чтобы войти в домен, необходимо прописать правильные настройки в файле /etc/samba/smb.conf. На данном этапе нас интересуют только некоторые параметры секции [global]. Вот примерный вариант файла:

    [global]

    workgroup = DOMAIN
    realm = DOMAIN.RU

    # Эти две опции отвечают как раз за авторизацию через AD
    security = ADS
    encrypt passwords = true

    # Просто важные
    dns proxy = no
    socket options = TCP_NODELAY

    # Если вы не хотите, чтобы самба пыталась при случае вылезти в лидеры в домене или рабочей группе,
    # или даже стать доменконтроллером, то всегда прописывайте эти пять опций именно в таком виде
    domain master = no
    local master = no
    preferred master = no
    os level = 0
    domain logons = no

    # Отключить поддержку принтеров
    load printers = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    Теперь необходимо проверить внесенные изменения на правильность (точнее себя на внимательность и руки на кривость :-) ) следующей командой:

    testparm
    В случае правильного изменения файла /etc/samba/smb.conf вы увидите примерно следующее:

    # testparm
    Load smb config files from /etc/samba/smb.conf
    Loaded services file OK.
    Server role: ROLE_DOMAIN_MEMBER
    Press enter to see a dump of your service definitions
    Данное сообщение известит вас о том, что вы правильно внесли все изменения и настала пора наконец-таки осуществить вход в домен. Для этого необходимо выполнить следующую команду:

    net ads join -U vasya -D DOMAIN
    В случае успешного входа вы увидите на экране примерно следующее:

    # net ads join -U vasya -D DOMAIN
    Enter vasya’s password:
    Using short domain name — DOMAIN
    Joined ‘WORK-UBUNTU’ to realm ‘domain.ru’
    Я снова не стану описывать все возможные ошибки, потому что и ежу понятно, что если появились ошибки значит ты сделал что-то не так. Поэтому скажу только одно: RTFM friend!

    На данном этапе вы можете установить себе smbclient

    sudo apt-get install smbclient
    и проверить доступность ресурсов, хотя бы, на доменконтроллере

    smbclient -k -L first
    Вы должны будете увидеть список доступных ресурсов на доменконтроллере

    Переходим к настройке Winbin

    Если вам необходимо работать с пользователями домена, например, настраивать SMB-шары с разграничением доступа, то вам понадобится кроме самой Samba ещё и Winbind — специальный демон, служащий для связи локальной системы управления пользователями и группами Linux с сервером Active Directory. Проще говоря Winbind нужен, если вы хотите видеть пользователей домена на своём компьютере с Ubuntu.

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

    Для настройки Winbind используется всё тот же файл /etc/samba/smb.conf. Добавьте в секцию [global] следующие строки:

    # Опции сопоставления доменных пользователей и виртуальных пользователей в системе через Winbind.
    # Диапазоны идентификаторов для виртуальных пользователей и групп.
    idmap config * : range = 5000-20000
    idmap config * : backend = tdb
    # Эти опции не стоит выключать.
    winbind enum groups = yes winbind enum users = yes
    # Использовать домен по умолчанию для имён пользователей. Без этой опции имена пользователей и групп
    # будут использоваться с доменом, т.е. вместо username — DOMAIN\username.
    # Возможно именно это вам и нужно, однако обычно проще этот параметр включить.
    winbind use default domain = yes
    # Если вы хотите разрешить использовать командную строку для пользователей домена, то
    # добавьте следующую строку, иначе в качестве shell’а будет вызываться /bin/false
    template shell = /bin/bash
    # Для автоматического обновления билета Kerberos модулем pam_winbind.so нужно добавить строчку
    winbind refresh tickets = yes
    Строки с параметрами idmap config указаны с новыми параметрами не характерными для старых версий Samba, поэтому на данном этапе будьте внимательнее. Старый формат этих строк можно посмотреть в официальной инструкции по вводу в домен.

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

    sudo /etc/init.d/winbind stop
    sudo smbd restart
    sudo /etc/init.d/winbind start
    Запускаем:

    sudo testparm
    Смотрим есть ли ошибки или предупреждения, если появится: «rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)», то отредактировать файл /etc/security/limits.conf:

    # Добавить в конец файла строки:
    * — nofile 16384
    root — nofile 16384
    После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой

    # wbinfo -t
    checking the trust secret for domain DCN via RPC calls succeeded
    А так же, что Winbind увидел пользователей и группы из AD командами:

    wbinfo -u
    wbinfo -g
    Эти две команды должны выдать список пользователей и групп из домена соответственно. Либо с префиксом DOMAIN\, либо без него — в зависимости от того, какое значение вы указали параметру «winbind use default domain» в /etc/samba/smb.conf.

    Итак, Winbind работает, однако в систему он еще не интегрировал.

    Добавление Winbind в качестве источника пользователей и групп

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

    Для этого измените две строчки в файле /etc/nsswitch.conf:

    passwd: compat
    group: compat
    добавив к ним в конце winbind:

    passwd: compat winbind
    group: compat winbind
    Так же рекомендую привести строку hosts: в файле /etc/nsswitch.conf к виду:

    hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4
    Теперь можно проверить, что Ubuntu запрашивает у Winbind информацию о пользователях и группах выполнив по очереди следующие команды:

    getent passwd

    getent group
    После выполнения первой команды вы должны увидеть содержимое вашего файла /etc/passwd и пользователей вашего домена AD из указанного диапазона в файле /etc/samba/smb.conf. Вторая команда вернет все то же самое, только для групп.

    Авторизация в Ubuntu через пользователей домена

    Несмотря на то, что все пользователи домена фактически стали полноценными пользователями системы (в чём можно убедиться, выполнив последние две команды из предыдущего раздела), зайти ни под кем из них в систему всё ещё нельзя. Для включения возможности авторизации пользователей домена на компьютере с Ubuntu необходимо настроить PAM на работу с Winbind.

    Он-лайн авторизация

    Для он-лайн авторизации я лично подредактировал парочку файлов. Первый файл, который я редактировал это /etc/pam.d/common-session и добавил в него всего одну строчку:

    session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
    Вторым был файлик /etc/lightdm/user.conf. В него необходимо добавить строчку в самый конец файла:

    greeter-show-manual-login=true
    На этом собственно говоря все готово! Перезагружаемся и входим под учетной записью доменного пользователя.

    Офф-лайн авторизация

    Часто возникает ситуация, когда домен-контроллер недоступен по различным причинам — профилактика, отключение света или вы принесли ноутбук домой и хотите поработать. В этом случае для Winbind можно настроить кэширование учетных записей пользователей домена. Для этого необходимо сделать следующее. Добавьте в секцию [global] файла /etc/samba/smb.conf следующие строки:

    [global]
    # Возможность оффлайн-авторизации при недоступности доменконтроллера
    winbind offline logon = yes
    # Период кэширования учетных записей, по умолчанию равен 300 секунд
    winbind cache time = 300
    # Необязательная настройка, но избавляет от нудных пауз, указываем контроллер домена dc,
    # можно указать и ip, но это является плохим тоном
    password server = dc
    Обычно этого достаточно. Если же возникают ошибки, то необходимо создать файл /etc/security/pam_winbind.conf со следующим содержанием:

    #
    # pam_winbind configuration file
    #
    # /etc/security/pam_winbind.conf
    #
    [global]
    # turn on debugging
    debug = no
    # request a cached login if possible
    # (needs «winbind offline logon = yes» in smb.conf)
    cached_login = yes
    # authenticate using kerberos
    krb5_auth = yes
    # when using kerberos, request a «FILE» krb5 credential cache type
    # (leave empty to just do krb5 authentication but not have a ticket
    # afterwards)
    krb5_ccache_type = FILE
    # make successful authentication dependend on membership of one SID
    # (can also take a name)
    ;require_membership_of =
    silent = yes
    Файл /etc/pam.d/gnome-screensaver в таком случае принимает вид:

    auth sufficient pam_unix.so nullok_secure
    auth sufficient pam_winbind.so use_first_pass
    auth required pam_deny.so
    А также изменяется файл /etc/pam.d/common-auth:

    auth optional pam_group.so
    auth sufficient pam_unix.so nullok_secure use_first_pass
    auth sufficient pam_winbind.so use_first_pass
    auth required pam_deny.so
    На этом вроде бы все :-)

    Вместо заключения

    После всех проделанных операций наша машина на Ubuntu стала полноценным членом домена Windows и теперь с ней могу работать пользователи AD.

    Было мягко говоря не легко. Тяжело было собрать информацию, относящуюся именно к моей Ubuntu 14.04 Trusty LTS.

    Запись опубликована 24.08.2014 в рубрике HOW-TO, Сетевое администрирование с метками active directory, ubuntu, домен.

    DrSeele

    Сообщения : 2
    Очки : 4
    Дата регистрации : 2015-05-26

    Re: Ввод Ubuntu в домен

    Сообщение автор DrSeele в Ср 27 Май - 2:24:46

    Спасибо, буду пробовать!

    Спонсируемый контент

    Re: Ввод Ubuntu в домен

    Сообщение автор Спонсируемый контент


      Текущее время Чт 30 Мар - 13:34:16