3.9 Добавление учетных записей пользователей на сервер OpenLDAP
Создание учетных записей пользователей
Импорт пользователей из /etc/passwd
Удаление пользователей и групп
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная, Образовательная
- Версия ПО: openldap-servers-2.6.4-1, openldap-clients-2.6.4-1
Создание учетных записей пользователей
Создайте учетную запись пользователя с поддержкой аутентификации.
1. Сгенерируйте хеш пароля:
slappasswd
Введите пароль <пароль_пользователя> и скопируйте полученный хеш (в примере {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx).
New password: <пароль_пользователя> Re-enter new password: <пароль_пользователя> {{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
2. Создайте файл с данными пользователя:
sudo nano ldapuser.ldif
Пример содержимого файла:
dn: uid=ivanov,ou=People,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Ivan Ivanov
sn: Ivanov
givenName: Ivan
displayName: Ivan Ivanov
gecos: Ivan Ivanov
mail: ivanov@example.com
userPassword: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/ivanov
telephoneNumber: +7-495-123-45-67
title: Software Developer
dn: cn=ivanov,ou=Groups,dc=example,dc=com
objectClass: posixGroup
cn: ivanov
gidNumber: 1000
memberUid: ivanov
Добавьте пользователя в базу:
sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f ldapuser.ldif
Введите пароль администратора LDAP-каталога, созданный при настройке базы данных:
Enter LDAP Password:<пароль_администратора_каталога>
Пример вывода команды:
adding new entry "uid=ivanov,ou=People,dc=example,dc=com" adding new entry "cn=ivanov,ou=Groups,dc=example,dc=com"
Импорт пользователей из /etc/passwd
Создайте скрипт для импорта локальных пользователей с UID от 1000 до 9999:
sudo nano import-users.sh
Пример содержимого:
#!/bin/bash
SUFFIX='dc=example,dc=com'
LDIF='import-users.ldif'
echo -n > "$LDIF"
awk -F: '$3 >= 1000 && $3 < 10000' /etc/passwd | while read LINE
do
USER_ID=$(echo "$LINE" | cut -d: -f1)
UID_NUM=$(echo "$LINE" | cut -d: -f3)
GID_NUM=$(echo "$LINE" | cut -d: -f4)
HOME_DIR=$(echo "$LINE" | cut -d: -f6)
LOGIN_SHELL=$(echo "$LINE" | cut -d: -f7)
CN="$USER_ID"
SN="$USER_ID"
DISPLAY_NAME="$USER_ID"
echo "dn: uid=$USER_ID,ou=People,$SUFFIX" >> "$LDIF"
echo "objectClass: top" >> "$LDIF"
echo "objectClass: inetOrgPerson" >> "$LDIF"
echo "objectClass: posixAccount" >> "$LDIF"
echo "objectClass: shadowAccount" >> "$LDIF"
echo "cn: $CN" >> "$LDIF"
echo "sn: $SN" >> "$LDIF"
echo "givenName: $USER_ID" >> "$LDIF"
echo "displayName: $DISPLAY_NAME" >> "$LDIF"
echo "uid: $USER_ID" >> "$LDIF"
echo "uidNumber: $UID_NUM" >> "$LDIF"
echo "gidNumber: $GID_NUM" >> "$LDIF"
echo "homeDirectory: $HOME_DIR" >> "$LDIF"
echo "loginShell: $LOGIN_SHELL" >> "$LDIF"
echo "" >> "$LDIF"
done
echo "LDIF-файл создан: $LDIF"
Выполните скрипт и импортируйте пользователей:
sudo chmod +x import-users.sh sudo ./import-users.sh sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f import-users.ldif
Удаление пользователей и групп
Для удаления пользователя выполните команду:
sudo ldapdelete -x -W -D "cn=admin,dc=example,dc=com" "uid=ivanov,ou=People,dc=example,dc=com"
Для удаления группы выполните команду:
sudo ldapdelete -x -W -D "cn=admin,dc=example,dc=com" "cn=ivanov,ou=Groups,dc=example,dc=com"
Дата последнего изменения: 27.08.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.