Автор Тема: Ввод в домен на базе Win 2003 рабочей станции под управлением Simply Linux  (Прочитано 8693 раз)

Оффлайн mad_max

  • Участник
  • *
  • Сообщений: 352
Здравствуйте уважаемые форумчане.
В общем задался такой задачей и параллельно начал писать инструкцию. Споткнулся на последнем шаге. Может знающие подскажут как это сделать и укажут на ошибки. Заранее спасибо!

Задача:
Ввести в домен на базе Winows Server 2003 машину под управлением Simply Linux.

Дано:
1) Windows Server 2003;
2) Simply Linux (обновленный до бранча 5.1);
3) Права администратора домена OFFICE.DOMEN.LOCAL (имя вашего домена).

Устанавливаем необходимые пакеты.
samba-swat
samba-client
krb5-kinit
libkrb5
ntpdate
pam_mount

Настраиваем сетевое соединение.

Здесь необходимо добиться резолва имен ваших машин в сети. Например: Имя моего контроллера домена DC3. OFFICE.DOMEN.LOCAL, а его ip адрес 192.168.10.11. Он же является DNS и WINS сервером в моей сети.
Проверяем доступность по ip адресу:
ping 192.168.10.11
PING 192.168.10.11 (192.168.10.11) 56(84) bytes of data.
64 bytes from 192.168.10.11: icmp_seq=1 ttl=128 time=0.138 ms
64 bytes from 192.168.10.11: icmp_seq=2 ttl=128 time=0.217 ms
64 bytes from 192.168.10.11: icmp_seq=3 ttl=128 time=0.127 ms
64 bytes from 192.168.10.11: icmp_seq=4 ttl=128 time=0.181 ms

Проверяем доступность по имени узла:
ping DC3
ping: unknown host DC3

Для того что бы узел отвечал по имени, необходимо указать домен поиска OFFICE.DOMEN.LOCAL. В Центре Управления Системой это указывается в настройках сетевого интерфейса в поле Домены поиска. Не забываем нажать Применить.

Проверяем доступность по имени узла:
ping DC3
PING DC3.office.domen.local (192.168.10.11) 56(84) bytes of data.
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=1 ttl=128 time=0.137 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=2 ttl=128 time=0.147 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=3 ttl=128 time=0.144 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=4 ttl=128 time=0.134 ms

В файл /etc/hosts добавляем запись о нашей машине:
127.0.0.1 localhost.localdomain localhost
127.0.0.1 wslinux.office.domen.local wslinux

По имени DC3 узел у нас отвечает, но вот если попробовать его пинговать указав полное имя домена DC3.OFFICE.DOMEN.LOCAL то получим ошибку:
ping DC3.OFFICE.DOMEN.LOCAL
ping: unknown host DC3.OFFICE.DOMEN.LOCAL

И соответственно в домен машину мы ввести не сможем. С чем это связанно, я точно не знаю, так как не шибко в этом разбираюсь, но решение нашел.
Ищем файл /etc/nsswitch.conf
В нем строку с hosts:
У меня она по дефолту была такой:
hosts:      files nisplus nis mdns4_minimal [NOTFOUND=return] dns mdns4 fallback
И приводим ее к такому виду:
hosts:      files dns nisplus nis mdns4_minimal [NOTFOUND=return] mdns4 fallback
Проверяем:
ping DC3.OFFICE.DOMEN.LOCAL
PING DC3.OFFICE.DOMEN.LOCAL (192.168.10.11) 56(84) bytes of data.
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=1 ttl=128 time=0.201 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=2 ttl=128 time=0.133 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=3 ttl=128 time=0.134 ms
64 bytes from dc3.office.domen.local (192.168.10.11): icmp_seq=4 ttl=128 time=0.136 ms

Вот собственно и все.

Настраиваем сервисы  самбы.

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

# chkconfig --list | grep smb
smb             0:off 1:off 2:off 3:off 4:off 5:off 6:off

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

# chkconfig --levels 2345 smb on
Снова проверяем:

# chkconfig --list | grep smb
smb             0:off 1:off 2:on 3:on 4:on 5:on 6:off

Запускаем сервис самба:

# service smb start
Чтобы сервис swat запускался автоматически: в файле /etc/xinet.d/swat меняем значение disable с yes на no и перезапускаем службу:

# service xinetd restart
Запускаем swat в браузере: http://localhost:901
Во вкладке GLOBALS ставим следующие значения:
Security = ads (это режим domain member)
Workgroup = OFFICE (указываем первую часть имени домена)
Realm = OFFICE.DOMEN.LOCAL (полное имя домена)
Netbios name = WSLINUX (netbios имя нашего компьютера)

Подтверждаем изменения нажав кнопку commit changes наверху страницы. И последнее значение настраиваем, переключившись в режим advanced view:
#  ip адрес контроллера домена
Password server = 192.168.10.11

# Диапазоны идентификаторов для виртуальных пользователей и групп.
idmap uid = 10000 - 40000
idmap gid = 10000 - 40000

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

Затем опять подтверждаем изменения. Далее во вкладке STATUS запускаем или перезапускаем службы Restart All (замечу что winbindd на этом этапе еще не работает).

Теперь настроим синхронизацию времени с нашим контроллером домена.

Проверяем уровни запуска службы:
# chkconfig --list | grep ntpd
ntpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off

Задаем необходимые нам:
# chkconfig --levels 345 ntpd  on
Добавляем в конфигурационный файл /etc/ntpd.conf запись о сервере времени для синхронизации, все остальное закомментируем:
#servers pool.ntp.org
servers 192.168.10.11

Запускаем синхронизацию времени:
# ntpdate 192.168.10.11
17 Aug 11:03:44 ntpdate[14747]: step time server 192.168.10.11 offset 82.524429 sec

И только после этого запускаем службу:
# service ntpd start
Настраиваем службу аутентификации для получения билетов Kerberos.

Для того что бы Kerberos производил аутентификацию на контролере домена, а не на локальной машине правим /etc/krb5.conf.
Я сделал так, создал копию оригинального файла /etc/krb5.conf.origin и только после этого приступил к редактированию  krb5.conf.
Приводим  krb5.conf к виду (обратите внимание на регистр, где заглавными, так и должно быть):
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = OFFICE.DOMEN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
OFFICE.DOMEN.LOCAL = {
kdc = 192.168.10.11
default_domain = office.domen.local
}

[domain_realm]
.office.domen.local = OFFICE.DOMEN.LOCAL
office.domen.local = OFFICE.DOMEN.LOCAL

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Ну вот и закончили с настройкой Kerberos. Теперь пробуем подключится. Открываем терминал и пробуем получить билет авторизации:
# kinit admin@OFFICE.DOMEN.LOCAL
Password for mad_max@OFFICE.DOMEN.LOCAL:
где admin - имя доменного админа, а OFFICE.DOMEN.LOCAL - имя вашего домена.

Если все прошло хорошо в ответ на этот запрос вы ответа не получите.

Проверяем наличие билета командой klist, вывод должен быть примерно такой:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@OFFICE.DOMEN.LOCAL

Valid starting     Expires            Service principal
08/17/10 11:11:58  08/17/10 21:12:04  krbtgt/OFFICE.DOMEN.LOCAL@OFFICE.DOMEN.LOCAL
renew until 08/18/10 11:11:58

Правим /etc/nsswitch.conf примерно до такого вида:
passwd: files winbind
shadow: tcb files winbind
group: files winbind
gshadow:    files

Чтобы вступили в силу изменения в конфиге /etc/nsswitch.conf без перегарузки, нужно от рута дать команду:

# ldconfig
Вводим в домен.

Для ввода в домен необходимо дать команду:
# net ads join -U admin
admin's password:
Using short domain name -- OFFICE
Joined 'WSLINUX' to realm 'OFFICE.DOMEN.LOCAL'

где admin - имя доменного админа, а admin's password — пароль доменного админа.

Проверить что мы вошли в домен можно командой wbinfo -u (у меня она отработала только после перезагрузки компа):
$ wbinfo -u
OFFICE\гость
OFFICE\администратор
OFFICE\user1
OFFICE\user2

Для того чтобы в нашу систему можно было логиниться под доменными аккаунтами и авторизация шла через winbind необходимо привести /etc/pam.d/gdm к виду:

#%PAM-1.0
#auth     required    pam_env.so
#auth     include    system-auth
#auth     required    pam_nologin.so
#account  include    system-auth
#password include    system-auth
#session  include    system-auth
#session  optional     pam_console.so
auth     include        system-auth-winbind
auth     required       pam_nologin.so
account  include        system-auth-winbind
password include        system-auth-winbind
session  include        system-auth-winbind
session  optional       pam_console.so

А /etc/pam.d/system-auth-winbind к виду:

#%PAM-1.0
auth        required    pam_securetty.so
auth        required    pam_nologin.so
#auth        sufficient    pam_winbind.so
auth        sufficient    pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login
auth        include        system-auth-use_first_pass
account        sufficient    pam_winbind.so
account        include        system-auth
password    sufficient    pam_winbind.so
password    include        system-auth-use_first_pass
# We use pam_mkhomedir to create home dirs for incoming domain users
# Note used umask, it will result in rwxr-x--x access rights
#session        required    pam_mkhomedir.so skel=/etc/skel/ umask=0026
session        required    pam_mkhomedir.so skel=/etc/skel/ umask=0077
session        include        system-auth

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

Инструкция составлена с применением следующих ресурсов:
http://privats.ru/2009/08/integraciya-linux-centos-v-active-directory-part-1.html
http://ftp.sumylug.osdn.org.ua/pub/mirrors/ftp.altlinux.org/Master/2.2/docs/admin-html/ch12s07.html
http://team.ru/soft/altlinux_domen.shtml
http://forum.altlinux.org/index.php?topic=376.0;wap2
=%D0%B2%D0%B2%D0%BE%D0%B4&s[]=%D0%B2&s[]=%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD]http://help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD_windows?s[]=%D0%B2%D0%B2%D0%BE%D0%B4&s[]=%D0%B2&s[]=%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD
« Последнее редактирование: 27.08.2010 13:57:53 от mad_max »

Оффлайн mad_max

  • Участник
  • *
  • Сообщений: 352
Моя линукс машина успешно введена в домен, и работаю на ней под доменным пользователем. Инструкцию обновил.
Наверно можно прикрепить ее или перенести в правильный раздел.

Mario_z

  • Гость

Оффлайн mad_max

  • Участник
  • *
  • Сообщений: 352
Перенес.

А может еще и прикрепить, что бы не потерялась?

Mario_z

  • Гость

Оффлайн greyzy

  • Участник
  • *
  • Сообщений: 277
    • http://samba-doc.ru
Отличная работа! Прошу дополнить инструкцию окончательным smb.conf, дабы не трогать SWAT

Оффлайн shan

  • Участник
  • *
  • Сообщений: 1
1)А как Linux Master дружит с AD W2003?  Нуждо делать то же самое что и для Лёгкого?
2)А если машин Линуксовых 30-50? На каждой делать описанные процедуры?

3)Хочется иметь один список пользователей в AD Win2003 и оттуда рулить их правами по доступу к сетевым ресурсам БЕЗ ДОПОЛНИТЕЛЬНЫХ ВВОДОВ ПАРОЛЯ после авторизации при входе:
а)расшаренные папки;
б) прокси;
в)принтеры;
г)разрешение/запрет входа пользоваателя домена на конретной машине с Линукс.
Всё эти функции будут доступны?


Сейчас в школе купленный лицензионный Сервер 2003 с DNS, AD, DHCP, TS . Все Windows ПК в домене.
Купленных Лицензий XP+Vista мало. Чую придётся в 2011г переводить большинство рабочих машин на Линукс. Вопрос на КАКОЙ?

Есть ли готовые дистрибутивы где описанные настройки хотя бы частично сделаны? Или есть графический модуль для введения Линукс машины в домен Windows? Ведь Виндусовые ПК добавляются в домен элементарно!

Оффлайн приходящий

  • Участник
  • *
  • Сообщений: 1
Сделал всё по инструкции для Symply Linux 6.0.1.  Домен на Win2k3. Wbinfo -u выдает список пользователей домена. Проверил запуск smb и winbind. Запускаются как надо - winbind последний, но пользователи домена не отображаются в "окне приветствия". Слева только локальные пользователи.
Было установлено несколько машин. Некоторые заводились без проблем. На некоторых вот такая беда.
Где копать? какие логи смотреть?
Еще есть проблема: иногда список доменных пользователей в " приветствии" исчезает и восстанавливается после перезагрузки. ДНС ДХЦП , машина адрес  получает. На сетевые ресурсы зайти можно.

Есть идеи? Помогите.