Домен/Скрипты: различия между версиями
Строка 121: | Строка 121: | ||
= system-auth = | = system-auth = | ||
Утилита system-auth входит в пакет alterator-auth и позволяет просматривать и устанавливать текущую схему аутентификации. | Утилита system-auth входит в пакет '''alterator-auth''' и позволяет просматривать и устанавливать текущую схему аутентификации. | ||
Использование: | |||
system-auth <действие> [<дополнительно>] | |||
Действия: | |||
==list== | |||
Cписок поддерживаемых схем аутентификации. | |||
Пример: | |||
<pre># system-auth list | |||
local | |||
ldap | |||
krb5</pre> | |||
==status== | |||
Текущая схема аутентификации и её параметры. | |||
Пример на сервере: | Пример на сервере: | ||
# system-auth status | # system-auth status | ||
Строка 131: | Строка 145: | ||
krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru | krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru | ||
==write== | |||
Изменить схему аутентификации | |||
Использовать локальную базу tcb: | |||
# system-auth write local | |||
Использовать аутентификацию в LDAP без Kerberos: | |||
# system-auth write ldap dc=test,dc=altlinux,dc=ru ldap://127.0.0.1 | |||
Использовать аутентификацию в LDAP c Kerberos: | |||
# system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru | |||
==Примечания== | |||
# Собственно выбором схемы аутентификации для [http://ru.wikipedia.org/wiki/PAM PAM] занимается [[control]] system-auth: | |||
# control system-auth | |||
krb5 | |||
# Параметры аутентификации через LDAP находятся при использовании nss_ldap в файлах ''/etc/pam_ldap.conf'' и ''/etc/nss_ldap.conf'', при использовании nss-ldapd — в файле ''/etc/nslcd.conf'' (при этом обязательно должна быть запущена служба '''nslcd'''). | |||
# База имён пользователей (NSS) находится в файле ''/etc/nsswitch.conf'' | |||
= Диагностика = | |||
Если что-то не работает, алгоритм следующий: | |||
1. Проверяем на сервере домен и то, что он использует Kerberos: | |||
<pre># alterator-cmdline /net-domain action read | |||
domain:test.altlinux.ru | |||
resolver:OK | |||
access:OK | |||
ldap:OK | |||
kdc:OK | |||
smb:OK | |||
dhcpd:OK | |||
master:#t | |||
</pre> | |||
Все параметры (кроме domain и master) должны быть {{term|OK}}, domain содержит правильное имя домена, master — значение {{term|#t}}. | |||
2. Проверяем схему аутентификации на клиенте: | |||
# system-status | |||
krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru | |||
Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap. | |||
3. Смотрим доступность сервера по имени: | |||
# ping ldap.test.altlinux.ru | |||
а) Если пишет 'unknown host', проверьте, прописан ли сервер как сервер DNS для этой машины. Рекомендуется сервер домена использовать как сервер DHCP и DNS для обслуживаемой подсети. | |||
б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети. | |||
4. Проверьте время на клиенте и сервере командой | |||
# date | |||
Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени. | |||
5. Проверьте, виден ли клиент в LDAP: | |||
# getent passwd l1 | |||
l1:*:5000:5000:l1:/home/l1:/bin/bash | |||
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере. | |||
[[Категория:Руководства]] [[Категория:Домен]] | [[Категория:Руководства]] [[Категория:Домен]] |
Версия от 11:58, 4 октября 2012
Программы для управления доменом.
ldap-user-tools
Вспомогательные программы входят в пакет ldap-user-tools. Все программы размещены в каталоге /usr/sbin, поэтому доступны без полного пути администратору. См. Su. Каждый скрипт поддерживает параметры -h и --help для выдаче справки по использованию скрипта и --version для показа версии пакета и сервера LDAP.
Переменные среды окружения
Переменная | Пример | Описание |
---|---|---|
DN_CONF | /etc/openldap/slapd-test.altlinux.ru.conf | Файл с конфигурацией base DN текущего домена |
ENABLE_KRB | yes | Если «yes», дополнительно использовать базу Kerberos для операций |
Переменные заполняются автоматически, если текущий домен настроен и используется для аутентификации. Просмотреть значения переменных можно командами:
. /usr/bin/alterator-openldap-functions
set_ldap_config
echo $DN_CONF
echo $ENABLE_KRB
Совет: При указании значения переменной DN_CONF перед запуском скриптов ldap-* можно переназначить работу с доменом LDAP, отличным от используемого для аутентификации.
Примечание: переменная DN_CONF заполняется из вывода текущей схемы аутентификации
system-auth status
значение переменной ENABLE_KRB выставляется в «yes», если в файле /etc/sysconfig/system есть значение SERVER_ROLE=master.
Утилиты
ldap-init
Инициализирует базовый DN текущего домена, создаёт подразделы. Явно не используется.
ldap-dn
Управление базовыми DN.
ldap-getent
Получение записей о пользователях и группах домена в формате getent(1).
ldap-useradd
Добавление пользователя в домен.
Использование:
ldap-useradd [-n <Имя>] [-f <Фамилия>] [-c <ФИО полностью>] [-d <домашний каталог>] [-s <интерпретатор>] [-p <пароль>] [-G <группа[,...]] <имя пользователя>
Параметры:
- -n <Имя>
- имя пользователя
- -f <Фамилия>
- фамилия пользователя
- -с <ФИО полностью>
- полные фамилия имя отчество пользователя.
- Примечание: Так как отдельного поля для отчества в штатной схеме LDAP нет, было решено добавить его в поле cn. При обработке оно смотрит на содержимое фамилии и имени, убирает их из cn и получает отчество. Поэтому для определения отчества указывайте их с фамилией и именем в параметре -c.
- -d <домашний каталог>
- домашний каталог пользователя на сервере. По умолчанию: /home/<имя пользователя>
- -s <интерпретатор>
- интерпретатор команд. По умолчанию: /bin/bash. Если указать /sbin/nologin или /dev/null, пользователь не сможет войти по SSH на сервер.
- -p <пароль>
- пароль пользователя. Пароль можно установить позднее командой ldap-passwd.
- -G <группа,...>
- По умолчанию в LDAP создаётся и одноимённая с пользователем группа. Параметр -G предназначен для включения нового пользователя в уже созданные группы LDAP (группы указываются через запятую).
- <имя пользователя>
- имя пользователя. Единственный обязательный параметр.
Пример:
ldap-useradd -f Филиппов -n Иван -c 'Филиппов Иван Дмитриевич' -d /home/fill -s /bin/bash -p pASSWORD -G g1,group2 fill
ldap-userdel
Удаление пользователя из домена.
Использование:
ldap-userdel <имя пользователя>
Параметры:
- <имя пользователя>
- имя пользователя. Единственный обязательный параметр.
Пример:
ldap-userdel fill
ldap-usermod
Изменение данных о пользователе домена.
ldap-passwd
Изменение пароля пользователя домена.
ldap-groupadd
Добавление группы в домен.
ldap-groupdel
Удаление группы из домена.
ldap-groupmod
Изменение данных о составе группы домена.
alterator-cmdline
Все методы бэкендов модулей Alterator можно вызвать через команду alterator-cmdline. Ниже представлены полезные команды:
alterator-net-domain (Домен)
Просмотр текущего состояния домена
# alterator-cmdline /net-domain action read domain:test.altlinux.ru resolver:OK access:OK ldap:OK kdc:OK smb:OK dhcpd:OK master:#t
system-auth
Утилита system-auth входит в пакет alterator-auth и позволяет просматривать и устанавливать текущую схему аутентификации.
Использование:
system-auth <действие> [<дополнительно>]
Действия:
list
Cписок поддерживаемых схем аутентификации. Пример:
# system-auth list local ldap krb5
status
Текущая схема аутентификации и её параметры. Пример на сервере:
# system-auth status ldap dc=test,dc=altlinux,dc=ru ldap://127.0.0.1
Пример на клиенте:
# system-auth status krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
write
Изменить схему аутентификации
Использовать локальную базу tcb:
# system-auth write local
Использовать аутентификацию в LDAP без Kerberos:
# system-auth write ldap dc=test,dc=altlinux,dc=ru ldap://127.0.0.1
Использовать аутентификацию в LDAP c Kerberos:
# system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
Примечания
# control system-auth krb5
- Параметры аутентификации через LDAP находятся при использовании nss_ldap в файлах /etc/pam_ldap.conf и /etc/nss_ldap.conf, при использовании nss-ldapd — в файле /etc/nslcd.conf (при этом обязательно должна быть запущена служба nslcd).
- База имён пользователей (NSS) находится в файле /etc/nsswitch.conf
Диагностика
Если что-то не работает, алгоритм следующий:
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.
2. Проверяем схему аутентификации на клиенте:
# system-status krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap.
3. Смотрим доступность сервера по имени:
# ping ldap.test.altlinux.ru
а) Если пишет 'unknown host', проверьте, прописан ли сервер как сервер DNS для этой машины. Рекомендуется сервер домена использовать как сервер DHCP и DNS для обслуживаемой подсети.
б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети.
4. Проверьте время на клиенте и сервере командой
# date
Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени.
5. Проверьте, виден ли клиент в LDAP:
# getent passwd l1 l1:*:5000:5000:l1:/home/l1:/bin/bash
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере.