Домен/Решение проблем: различия между версиями
(не показано 12 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{Attention|Домен на Пятой и Шестой платформе нужно устанавливать '''только''' после настройки сервера DHCP. В противном случае придётся выбирать другое имя домена.}} | |||
{{Attention|Сервер домена гарантированно работает только на SysVInit, но не на Systemd.}} | |||
Если что-то не работает, алгоритм следующий: | Если что-то не работает, алгоритм следующий: | ||
Строка 25: | Строка 26: | ||
# В модуле «DHCP-сервер» настроить сервер для подсети. | # В модуле «DHCP-сервер» настроить сервер для подсети. | ||
# Создать новый домен с другим именем (и с выставленным флажком «Обслуживать домен Kerberos»). При попытке использовать старое имя домена не создадутся нужные ветки в базе LDAP. | # Создать новый домен с другим именем (и с выставленным флажком «Обслуживать домен Kerberos»). При попытке использовать старое имя домена не создадутся нужные ветки в базе LDAP. | ||
=== Проверка создания пользователя === | |||
Для успешного создания пользователя домена необходимо запустить службу {{cmd|slapd}}. А если домен с Kerberos, то и {{cmd|krb5kdc}}. | |||
Полный пошаговый вывод программы создания пользователя: | |||
sh -x /usr/sbin/ldap-useradd test | |||
= Проверка клиента = | = Проверка клиента = | ||
==1. Проверяем доступные домены с сервера== | |||
Служба {{cmd|avahi-daemon}} должна быть запущена на сервере и клиенте и там и там выдавать примерно следующее: | |||
# avahi-browse -prtk _server._tcp | |||
+;enp0s8;IPv4;ALT\032Linux\032Server\032\040c228\041;_server._tcp;local | |||
=;enp0s8;IPv4;ALT\032Linux\032Server\032\040c228\041;_server._tcp;local;c228.local;192.168.1.1;0;"domain=school.alt" "role=master" | |||
==2. Проверяем схему аутентификации на клиенте == | ==2. Проверяем схему аутентификации на клиенте == | ||
Строка 34: | Строка 49: | ||
Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap. | Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap. | ||
Если в модуле | Если в модуле «Аутентификация» не показывается домен, то на клиенте нужно запустить службу avahi-daemon: | ||
service avahi-daemon start | service avahi-daemon start | ||
Строка 53: | Строка 68: | ||
==5. Проверьте, виден ли клиент в LDAP== | ==5. Проверьте, виден ли клиент в LDAP== | ||
<pre># ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid= | <pre># ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid=*))" | ||
dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru | dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru | ||
uid: fill | uid: fill | ||
Строка 84: | Строка 99: | ||
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере. | Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере. | ||
==7. Проверяем получение тикета Kerberos | ==7. Проверяем получение тикета Kerberos== | ||
<pre> | <pre> | ||
# kinit l1 | # kinit l1 | ||
Строка 96: | Строка 111: | ||
В первой команде нужно указать имя пользователя и его пароль. Команда {{cmd|klist}} должна показать полученный тикет. | В первой команде нужно указать имя пользователя и его пароль. Команда {{cmd|klist}} должна показать полученный тикет. | ||
Если по каким-то причинам запись в LDAP есть, а в Kerberos отсутствует (например, создавали домен без поддержки Kerberos), нужно явно завести в Kerberos: | |||
. /usr/bin/alterator-kdc-princ-functions | |||
addprinc l1 | |||
changepw l1 Passw0rd | |||
Для работы служб должны быть получены и тикеты вида <имя_службы@...>. Более подробно про диагностику и работу Kerberos можно почитать в разделе [[Домен/Kerberos]]. Обратите внимание на пункт «Нюансы работы». | |||
==8. Пробуем зайти под доменным пользователем== | ==8. Пробуем зайти под доменным пользователем== | ||
В DM или консоли пробуем зайти доменным пользователем. В случае успеха аутентификация в домене работает. | В DM или консоли пробуем зайти доменным пользователем. В случае успеха аутентификация в домене работает. Если что-то не работает, то смотрите 12-ую консоль ({{term|Ctrl+Alt+F12}}). | ||
=Разное= | |||
==Требования к именам пользователей== | |||
При создании пользователя, содержащего в имени буквы в верхнем регистре, POP3 и IMAP-доступ к его почтовому ящику не будет работать. Рекомендуется создавать имена пользователей, состоящие из латинских букв в нижнем регистре, цифр, символов «_» и «-». Исправлено в {{pkg|ldap-user-tools}} {{Since|0.8.2-alt2}} | |||
==Сообщения об ошибках входа: вероятные причины== | |||
==="Сбой при проверке подлинности"=== | |||
Чаще всего, недоступность контроллера домена по сети. Отсутствие физического соединения (отошёл кабель, нет питания, ...) или ошибка при получении параметров сети. Слишком позднее получение параметров сети (проблема DHCP). Характерный признак - отсутствие ответа на ping контроллера домена. В качестве временной меры в ряде случаев помогает перезагрузка рабочей станции. Общее устранение проблемы связано с обеспечением устойчивой работы сети. | |||
==="Службе проверки подлинности не удаётся загрузить сведения аутентификации"=== | |||
Предположительно, остановка или недоступность службы KDC. Проверить состояние службы krb5kdc на контроллере домена. | |||
# service krb5kdc status | |||
В случае состояния stopped причина обнаружена. Попробовать перезапустить KDC | |||
# service krb5kdc start | |||
Если krb5kdc не запускается, пытаться устранить причину или (если возможно) восстановить работоспособное состояние сервера домена из резервной копии. | |||
{{Category navigation|title=Домен|category=Домен|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 18:45, 25 сентября 2015
Если что-то не работает, алгоритм следующий:
Проверка сервера
1.Проверяем правильность работы домена на сервере
Проверяем на сервере домен и то, что он использует Kerberos:
# alterator-cmdline /net-domain action read domain:test.altlinux.ru resolver:OK access:OK ldap:OK kdc:OK smb:OK dhcpd:OK master:#t
Все параметры (кроме domain и master) должны быть OK, domain содержит правильное имя домена, master — значение #t.
Если проблемы с KDC, то следует выполнить следующий алгоритм действий:
- В модуле «DHCP-сервер» настроить сервер для подсети.
- Создать новый домен с другим именем (и с выставленным флажком «Обслуживать домен Kerberos»). При попытке использовать старое имя домена не создадутся нужные ветки в базе LDAP.
Проверка создания пользователя
Для успешного создания пользователя домена необходимо запустить службу slapd. А если домен с Kerberos, то и krb5kdc. Полный пошаговый вывод программы создания пользователя:
sh -x /usr/sbin/ldap-useradd test
Проверка клиента
1. Проверяем доступные домены с сервера
Служба avahi-daemon должна быть запущена на сервере и клиенте и там и там выдавать примерно следующее:
# avahi-browse -prtk _server._tcp +;enp0s8;IPv4;ALT\032Linux\032Server\032\040c228\041;_server._tcp;local =;enp0s8;IPv4;ALT\032Linux\032Server\032\040c228\041;_server._tcp;local;c228.local;192.168.1.1;0;"domain=school.alt" "role=master"
2. Проверяем схему аутентификации на клиенте
# system-auth status krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap.
Если в модуле «Аутентификация» не показывается домен, то на клиенте нужно запустить службу avahi-daemon:
service avahi-daemon start
или добавить аутентификацию в домене вручную:
system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
3. Смотрим доступность сервера по имени
# ping ldap.test.altlinux.ru
а) Если пишет 'unknown host', проверьте, прописан ли сервер как сервер DNS для этой машины. Рекомендуется сервер домена использовать как сервер DHCP и DNS для обслуживаемой подсети.
б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети.
4. Проверьте время на клиенте и сервере командой
# date
Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени.
5. Проверьте, виден ли клиент в LDAP
# ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid=*))" dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru uid: fill cn:: 0KTQuNC70LjQv9C/0L7QsiDQmNCy0LDQvSDQlNC80LjRgtGA0LjQtdCy0LjRhw== sn:: 0KTQuNC70LjQv9C/0L7Qsg== objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: sambaSamAccount loginShell: /bin/sh uidNumber: 5006 gidNumber: 5009 homeDirectory: /home/fil sambaAcctFlags: [U ] sambaSID: S-1-5-21-2552966934-293145977-2108249345-11012 sambaPwdLastSet: 2147483647 sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 sambaPwdMustChange: 0 givenName:: 0JjQstCw0L0=
6. Проверьте, видим ли пользователь через NSS на клиентской машине
# getent passwd fill fill:*:5006:5009:Филиппов Иван Дмитриевич:/home/fil:/bin/sh
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере.
7. Проверяем получение тикета Kerberos
# kinit l1 Password for l1@SCHOOL-5: # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: l1@SCHOOL-5 Valid starting Expires Service principal 09/30/12 18:17:00 10/01/12 18:17:00 krbtgt/SCHOOL-5@SCHOOL-5
В первой команде нужно указать имя пользователя и его пароль. Команда klist должна показать полученный тикет.
Если по каким-то причинам запись в LDAP есть, а в Kerberos отсутствует (например, создавали домен без поддержки Kerberos), нужно явно завести в Kerberos:
. /usr/bin/alterator-kdc-princ-functions addprinc l1 changepw l1 Passw0rd
Для работы служб должны быть получены и тикеты вида <имя_службы@...>. Более подробно про диагностику и работу Kerberos можно почитать в разделе Домен/Kerberos. Обратите внимание на пункт «Нюансы работы».
8. Пробуем зайти под доменным пользователем
В DM или консоли пробуем зайти доменным пользователем. В случае успеха аутентификация в домене работает. Если что-то не работает, то смотрите 12-ую консоль (Ctrl+Alt+F12).
Разное
Требования к именам пользователей
При создании пользователя, содержащего в имени буквы в верхнем регистре, POP3 и IMAP-доступ к его почтовому ящику не будет работать. Рекомендуется создавать имена пользователей, состоящие из латинских букв в нижнем регистре, цифр, символов «_» и «-». Исправлено в ldap-user-tools с версии 0.8.2-alt2
Сообщения об ошибках входа: вероятные причины
"Сбой при проверке подлинности"
Чаще всего, недоступность контроллера домена по сети. Отсутствие физического соединения (отошёл кабель, нет питания, ...) или ошибка при получении параметров сети. Слишком позднее получение параметров сети (проблема DHCP). Характерный признак - отсутствие ответа на ping контроллера домена. В качестве временной меры в ряде случаев помогает перезагрузка рабочей станции. Общее устранение проблемы связано с обеспечением устойчивой работы сети.
"Службе проверки подлинности не удаётся загрузить сведения аутентификации"
Предположительно, остановка или недоступность службы KDC. Проверить состояние службы krb5kdc на контроллере домена.
# service krb5kdc status
В случае состояния stopped причина обнаружена. Попробовать перезапустить KDC
# service krb5kdc start
Если krb5kdc не запускается, пытаться устранить причину или (если возможно) восстановить работоспособное состояние сервера домена из резервной копии.