Домен/Скрипты
Программы для управления доменом.
Программа | Пакет | Назначение |
---|---|---|
ldap-init | ldap-user-tools | Инициализирует базовый DN текущего домена, создаёт подразделы |
ldap-dn | ldap-user-tools | Управление базовыми DN |
ldap-getent | ldap-user-tools | Получение записей о пользователях и группах домена в формате getent(1) |
ldap-useradd | ldap-user-tools | Добавление пользователя в домен |
ldap-userdel | ldap-user-tools | Удаление пользователя из домена |
ldap-usermod | ldap-user-tools | Изменение данных о пользователе домена |
ldap-passwd | ldap-user-tools | Изменение пароля пользователя домена |
ldap-groupadd | ldap-user-tools | Добавление группы в домен |
ldap-groupdel | ldap-user-tools | Удаление группы из домена |
ldap-groupmod | ldap-user-tools | Изменение данных о составе группы домена |
alterator-cmdline | alterator | Вызов методов бэкендов модулей Alterator |
system-auth | alterator-auth | Просматр и устанавка текущей схемы аутентификации |
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-dn <команда> [<базовый DN>]
Параметры:
- <команда>
- команда на изменение:
Режим | Описание |
---|---|
list | Список доступных базовых DN |
create | Создать базовый DN |
delete | Удалить базовый DN |
find | Показ файла конфигурации базового DN |
master | Установить как базовый DN по умолчанию |
- <базовый DN>
- базовый DN домена.
Команды list и find выводят записи в виде <базовый DN> <файл конфигурации>
Примеры:
Список базовых DN:
# ldap-dn list dc=test,dc=altlinux,dc=ru /etc/openldap/slapd-test.altlinux.ru.conf
Создание базового DN:
# ldap-dn create dc=school-100 hdb_monitor_db_open: monitoring disabled; configure monitor database to enable _#################### 100.00% eta none elapsed none fast! Closing DB...
Показ файла конфигурации:
# ldap-dn find dc=school-100 /etc/openldap/slapd-school-100.conf
Установка базового DN по умолчанию:
# ldap-dn master dc=test,dc=altlinux,dc=ru
Удаление базового DN:
# ldap-dn delete dc=school-100
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 [-r] <имя пользователя>
Параметры:
- -r
- удалить домашний каталог пользователя и его почтовый ящик
- <имя пользователя>
- имя пользователя. Единственный обязательный параметр.
Пример:
ldap-userdel -r fill
ldap-usermod
Изменение данных о пользователе домена.
ldap-passwd
Изменение пароля пользователя домена.
Использование:
ldap-passwd <имя пользователя> [<пароль>]
Параметры:
- <имя пользователя>
- имя существующего пользователя домена
- <пароль>
- новый пароль. Если параметр не указан, пароль считывается из стандартного потока ввода.
Пример:
ldap-passwd fill NewPaSsWoRD
ldap-groupadd
Добавление группы в домен.
Использование:
ldap-groupadd <имя группы>
Параметры:
- <имя группы>
- имя новой группы домена.
Пример:
ldap-groupadd staff
ldap-groupdel
Удаление группы из домена.
Использование:
ldap-groupdel <имя группы>
Параметры:
- <имя группы>
- имя группы домена.
Пример:
ldap-groupdel staff
ldap-groupmod
Изменение данных о составе группы домена.
Использование:
ldap-groupmod <режим> <имя группы>
Параметры:
- <режим>
- режим изменений.
Режим | Описание |
---|---|
add | Добавляет пользователей в группу |
replace | Изменяет состав группы (удаляет всех пользователей и заводит новый состав) |
del | Удаляет пользователей из группы |
- <имя группы>
- имя группы домена.
Добавляемые или удаляемые поля передаются через стандартный поток ввода в виде memberUid:<имя пользователя>
Пример:
Добавить пользователя fill в группу staff
echo 'memberUid:fill' | ldap-groupmod add staff
Удалить пользователя fill из группы staff
echo 'memberUid:fill' | ldap-groupmod del staff
Примечение: посмотреть список пользователей в группе можно командой
ldap-getent group <имя группы>
Пример:
# ldap-getent group staff memberUid fill,l1
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