Домен/Скрипты

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(ldap-usermod)
(ldap-getent)
Строка 125: Строка 125:
Параметры:
Параметры:
;<класс>
;<класс>
-
:возможные значения: '''passwd''' (пользователи) и '''group''' (группы).
+
:возможные значения: '''passwd''' (пользователи), '''group''' (группы), '''ws''' (зарегистрированные рабочие станции) {{Since|0.8.0}}
;<имя>
;<имя>
-
:имя пользователя или группы. Если опущено, показываются все объекты.
+
:имя пользователя, группы или рабочей станции. Если опущено, показываются все объекты.
;<поле>
;<поле>
:список полей LDAP, которые нужно показать вместо обычного вывода в формате getent(1) (значения разделены двоеточием, пароли не показываются):
:список полей LDAP, которые нужно показать вместо обычного вывода в формате getent(1) (значения разделены двоеточием, пароли не показываются):
:Для пользователей: <pre>uid:userPassword:uidNumber:gidNumber:gecos:homeDirectory:loginShell</pre>
:Для пользователей: <pre>uid:userPassword:uidNumber:gidNumber:gecos:homeDirectory:loginShell</pre>
:Для групп: <pre>cn:userPassword:gidNumber:memberUid</pre>
:Для групп: <pre>cn:userPassword:gidNumber:memberUid</pre>
 +
:Для рабочих станций <pre>uidNumber</pre>
Примечания:  
Примечания:  
Строка 174: Строка 175:
|{{term|postalAddress}}||Адрес
|{{term|postalAddress}}||Адрес
|-
|-
-
 
|colspan="2"|'''Группы'''
|colspan="2"|'''Группы'''
|-
|-
Строка 182: Строка 182:
|-
|-
|{{term|memberUid}}||Имя члена группы
|{{term|memberUid}}||Имя члена группы
 +
|-
 +
|colspan="2"|'''Рабочие станции''' {{Since|0.8.0}}
 +
|-
 +
||{{term|uidNumber}}||Идентификатор рабочей станции
|-
|-
|}
|}

Версия 08:24, 8 ноября 2012

Программы для управления доменом.

Программа Пакет Назначение
ldap-initldap-user-toolsИнициализирует базовый DN текущего домена, создаёт подразделы
ldap-dnУправление базовыми DN
ldap-getentПолучение записей о пользователях и группах домена в формате getent(1)
ldap-useraddДобавление пользователя в домен
ldap-userdelУдаление пользователя из домена
ldap-usermodИзменение данных о пользователе домена
ldap-passwdИзменение пароля пользователя домена
ldap-groupaddДобавление группы в домен
ldap-groupdelУдаление группы из домена
ldap-groupmodИзменение данных о составе группы домена
alterator-cmdlinealteratorВызов методов бэкендов модулей Alterator
system-authalterator-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-getent <класс> [<имя>] [<поле>[,...]]

Параметры:

<класс>
возможные значения: passwd (пользователи), group (группы), ws (зарегистрированные рабочие станции)  с версии 0.8.0 
<имя>
имя пользователя, группы или рабочей станции. Если опущено, показываются все объекты.
<поле>
список полей LDAP, которые нужно показать вместо обычного вывода в формате getent(1) (значения разделены двоеточием, пароли не показываются):
Для пользователей:
uid:userPassword:uidNumber:gidNumber:gecos:homeDirectory:loginShell
Для групп:
cn:userPassword:gidNumber:memberUid
Для рабочих станций
uidNumber

Примечания:

  • Регистр указываемых полей несущественен.
  • Если объект содержит несколько записей с одинаковым полем (например, memberUid в группах), значения будут показаны через запятую.

Поддерживаемые поля LDAP (служебные поля опущены):

Режим Описание
Пользователи
uidИмя заводимого пользователя в системе
givenNameИмя
snФамилия
cnФамилия Имя Отчество
loginShellИнтерпретатор команд
uidNumberИдентификатор пользователя
gidNumberИдентификатор группы
homeDirectoryДомашний каталог
mailАдрес электронной почты
ouПодразделение
titleДолжность
telephoneNumberТелефон
mobileМобильный
departmentNumberОтдел
postalAddressАдрес
Группы
cnНазвание
gidNumberИдентификатор группы
memberUidИмя члена группы
Рабочие станции  с версии 0.8.0 
uidNumberИдентификатор рабочей станции


Примеры:

Показать всех пользователей:
# ldap-getent passwd 
l1::5000:5000::/home/l1:/bin/bash
user::5001:5001::/home/user:/bin/bash
ivanov::5002:5002::/home/ivanov:/bin/bash
l2::5003:5005::/home/l2:/bin/bash
iv::5005:5008::/home/iv:/bin/bash
fill::5006:5009::/home/fil:/bin/sh
Показать состав группы admins:
# ldap-getent group admins memberuid
l1,user,ivanov

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-usermod <режим> <имя пользователя>

Параметры:

<режим>
режим изменений.
Режим Описание
addДобавляет поле записи пользователя
replaceИзменяет значения полей (изменяются только переданные поля)
delУдаляет поле записи пользователя
<имя пользователя>
имя пользователя домена.

Добавляемые или удаляемые поля передаются через стандартный поток ввода в виде <имя поля>:<значение>. Имя поля нечувствительно к регистру. Список поддержваемых полей смотрите в описании ldap-getent.

Пример:

echo "mail:sidorov@domain.ru" | ldap-usermod add sid

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
 
Личные инструменты