Ввод в домен на базе Windows 2003: различия между версиями

Материал из ALT Linux Wiki
м (some proofreading)
Строка 1: Строка 1:
== Ввод в домен на базе Win 2003 рабочей станции под управлением Simply Linux ==
== Ввод в домен на базе Win 2003 рабочей станции под управлением Simply Linux ==


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


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


2) Simply Linux (обновленный до бранча 5.1);
=== Устанавливаем необходимые пакеты ===
 
3) Права администратора домена OFFICE.DOMEN.LOCAL (имя вашего домена).
 
=== Устанавливаем необходимые пакеты: ===


  samba-swat
  samba-swat
Строка 20: Строка 18:
  pam_mount
  pam_mount


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


Необходимо добиться резолва имен ваших машин в сети. Например, имя контроллера домена DC3.OFFICE.DOMEN.LOCAL, а его ip адрес 192.168.10.11. Он же является DNS и WINS сервером в сети.
Необходимо добиться резолва имен ваших машин в сети. Например, имя контроллера домена -- DC3.OFFICE.DOMEN.LOCAL, а его ip-адрес -- 192.168.10.11. Он же является DNS- и WINS-сервером в сети.


Проверяем его доступность по ip адресу:
Проверяем его доступность по ip-адресу:


  ping 192.168.10.11
  ping 192.168.10.11
Строка 36: Строка 34:
  ping: unknown host DC3  
  ping: unknown host DC3  


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


Проверяем его доступность по имени узла:
Проверяем его доступность по имени узла:
Строка 50: Строка 48:
  127.0.0.1 wslinux.office.domen.local wslinux
  127.0.0.1 wslinux.office.domen.local wslinux


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


  ping DC3.OFFICE.DOMEN.LOCAL
  ping DC3.OFFICE.DOMEN.LOCAL
Строка 72: Строка 70:
  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=2 ttl=128 time=0.133 ms  


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


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




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


  # chkconfig --levels 2345 smb on
  # chkconfig --levels 2345 smb on
Строка 97: Строка 95:
  # service xinetd restart
  # service xinetd restart


Запускаем swat в браузере: http://localhost:901
Запускаем swat в браузере: http://localhost:901 (либо же правим /etc/samba/smb.conf соотвественно)


Во вкладке GLOBALS ставим следующие значения:
Во вкладке GLOBALS ставим следующие значения:
Строка 108: Строка 106:
Подтверждаем изменения нажав кнопку commit changes наверху страницы. И последние значения настраиваем, переключившись в режим advanced view:
Подтверждаем изменения нажав кнопку commit changes наверху страницы. И последние значения настраиваем, переключившись в режим advanced view:


  #  ip адрес контроллера домена
  #  ip-адрес контроллера домена
  Password server = 192.168.10.11
  Password server = 192.168.10.11


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


=== Настраиваем синхронизацию времени с нашим контроллером домена. ===
=== Настраиваем синхронизацию времени с нашим контроллером домена ===


Проверяем уровни запуска службы:
Проверяем уровни запуска службы:
Строка 155: Строка 153:
  # service ntpd start
  # service ntpd start


=== Настраиваем службу аутентификации для получения билетов Kerberos. ===
=== Настраиваем службу аутентификации для получения билетов Kerberos ===


Для того что бы Kerberos производил аутентификацию на контролере домена, а не на локальной машине, правим /etc/krb5.conf.
Для того что бы Kerberos производил аутентификацию на контролере домена, а не на локальной машине, правим /etc/krb5.conf. Приводим его к виду (обратите внимание на регистр, где заглавными, так и должно быть):
Приводим krb5.conf к виду (обратите внимание на регистр, где заглавными, так и должно быть):


  [logging]
  [logging]
Строка 196: Строка 193:
  Password for mad_max@OFFICE.DOMEN.LOCAL:
  Password for mad_max@OFFICE.DOMEN.LOCAL:
   
   
где admin - имя доменного админа, а OFFICE.DOMEN.LOCAL - имя вашего домена.
где admin -- имя доменного админа, а OFFICE.DOMEN.LOCAL -- имя вашего домена.


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


Проверяем наличие билета командой klist, вывод должен быть примерно такой:
Проверяем наличие билета командой klist, вывод должен быть примерно такой:
Строка 217: Строка 214:
  gshadow:    files
  gshadow:    files


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


  # ldconfig
  # ldconfig


=== Вводим в домен. ===
=== Вводим в домен ===


Для ввода в домен необходимо дать команду:
Для ввода в домен необходимо дать команду:
Строка 230: Строка 227:
  Joined 'WSLINUX' to realm 'OFFICE.DOMEN.LOCAL'
  Joined 'WSLINUX' to realm 'OFFICE.DOMEN.LOCAL'
   
   
где admin - имя доменного админа, а admin's password — пароль доменного админа.
где admin -- имя доменного админа, а admin's password — пароль доменного админа.


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


  $ wbinfo -u  
  $ wbinfo -u  
Строка 241: Строка 238:
  …
  …


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


  #%PAM-1.0
  #%PAM-1.0

Версия от 13:41, 8 сентября 2010

Ввод в домен на базе Win 2003 рабочей станции под управлением Simply Linux

Задача

Ввести в домен на базе 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

Проверяем его доступность по имени узла:

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

В файл /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 

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

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

# 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 (либо же правим /etc/samba/smb.conf соотвественно)

Во вкладке 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. Приводим его к виду (обратите внимание на регистр, где заглавными, так и должно быть):

[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
}

Пробуем получить билет авторизации:

# 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 

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

Библиография

Инструкция составлена с применением следующих ресурсов: