openLDAP: Управление информацией о пользователях

Добавление нового пользователя

Создадим .LDIF файл с информацией о новом пользователе

vim newuser.ldif

dn: uid=newuser,dc=unixtc,dc=ru
uid: newuser
cn: newuser
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$TEDFGNB3$m24Mo06Q06EXMop7INKrC/
shadowLastChange: 14335
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/usuario1
gecos: usuario1


В этом случае UserPassword формируется с помощью команды:

openssl passwd -1 -salt dfbb32ffds4fds23

Password: $1$TEDFGNB3$m24Mo06Q06EXMop7INKrC/

Добавляем пользователя в каталог LDAP:

ldapadd -a -x -D 'cn=Manager,dc=unixtc,dc=ru' -W -f user.ldif

Для проверки убедимся, что имя добавленного пользователя идентично с ID в команде:

id usuario1
uid=10000(usuario1) gid=10000 groups=10000

а также достанем информацию о пользователе из каталога

ldapsearch -h 127.0.0.1 -x -b "uid=newuser,dc=unixtc,dc=ru"

Внимание! для работы с LDAP каталогом на клиенте необходимо выполнить команду authconfig-tui и включить поддержку LDAP-авторизации!

Добавление новой группы

Чтобы добавить группу и включить в неё существующего пользователя newuser также используем LDIF-файл (в данном случае group.ldif):

vim newgroup.ldif

dn: cn=users,dc=unixtc,dc=ru
objectClass: posixGroup
gidNumber: 10000
cn: users
memberUid: newuser
description: Все пользователи

Заносим информацию в базу:

ldapadd -a -x -D 'cn=Manager,dc=unixtc,dc=ru' -W -f newgroup.ldif

чтобы проверить, успешно добавили мы группу:

id newuser

uid=10000(newuser) gid=10000(users) groups=10000(users)

Мы видим, что пользователь находится в группе “users”.

Создание домашних каталогов

Внимание! При правильно настроенном PAM все ниже описанное будет сделано автоматически

Перед тем как войти, нужно создать домашние каталоги для пользователей и скопировать в них файлы из skel.

mkdir /home/newuser
rsync -a /etc/skel/ /home/newuser
chown -R newuser.users /home/newuser
chmod 700 /home/newuser
ls -la /home/newuser

Вход пользователя

После завершения проверим, все ли работает отлично. В этом примере сервер OpenLDAP работает на компьютере с IP-адреса 192.168.150.24, и мы пытаемся подключится к этому компьютеру с другой машины с помощью команды SSH (дважды проверьте, что SSHD демон запущен на сервере, где установлен OpenLDAP).

ssh -l usuario1 192.168.150.24

usuаriо1@ 192.168.150.24 ′s password: Last login: Sat Jan 15 21:24:50 2010 from 192.168.150.207 id

uid=10000(usuario1) gid=10000(users) grupos=10000(users) pwd

/home/usuario1
Пользователь регистрируется на сервере и проходит проверку подлинности на сервере OpenLDAP.

Добавление нового пользователя.

Если вам нужно добавить еще одного пользователя ВНИМАТЕЛЬНО отредактируйте файл user.ldif, который использовали ранее.

cat user.ldif

dn: uid=usuario2,dc=ldap-kike,dc=com,dc=uy uid: usuario2 cn: usuario2 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$1$TEDFGNB3$ogOvJKTt/CviC47q/dBon1 shadowLastChange: 14335 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 10001 gidNumber: 10000 homeDirectory: /home/usuario2 gecos: usuario2

Добавьте его в базу данных LDAP:

ldapadd -x -D 'cn=Manager,dc=ldap-kike,dc=com,dc=uy' -W -f user.ldif

Enter LDAP Password: adding new entry "uid=usuario2,dc=ldap-kike,dc=com,dc=uy"

Затем мы создаем домашние каталоги и будет копировать файлы из skel, изменение разрешения, как мы это делали с другими пользователями. Чтобы добавить пользователя в группу users:

cat group.ldif dn: cn=users,dc=ldap-kike,dc=com,dc=uy objectClass: posixGroup gidNumber: 10000 cn: users memberUid: usuario1 memberUid: usuario2 description: Grupo Users

Обновим базу данных LDAP с помощью команды ldapmodify

ldapmodify -x -D 'cn=Manager,dc=ldap-kike,dc=com,dc=uy' -W -f group.ldif

Enter LDAP Password: modifying entry "cn=users,dc=ldap-kike,dc=com,dc=uy"

Хорошо, проверить данные с ldapsearch:

ldapsearch -h 127.0.0.1 -x -b "dc=ldap-kike,dc=com,dc=uy"

Проверим, что все работает правильно:

id usuario2

uid=10001(usuario2) gid=10000(users) groups=10000(users)

Основные настройки безопасности LDAP С листами контроля доступа.

Мы можем ограничить доступ к базе данных LDAP, так что пользователи не могут видеть пароли других пользователей (теневой стиль). Добавить в файл sldap.conf:

access to attrs=userPassword by dn="cn=Manager,dc=ldap-kike,dc=com,dc=uy" write by self write by anonymous auth by * none access to dn.base="" by * read access to * by dn="cn=Manager,dc=ldap-kike,dc=com,dc=uy" write by * read

Перезапустим LDAP:

service ldap restart

Теперь, если мы запускаем:

ldapsearch -h 127.0.0.1 -x -b "dc=ldap-kike,dc=com,dc=uy"

мы не в состоянии наблюдать все пароли пользователей, только ваш, если вы прошли аутентификацию в LDAP.

ldapsearch -h 127.0.0.1 -x -b "dc=ldap-kike,dc=com,dc=uy" -D "uid=usuario2,dc=ldap-kike,dc=com,dc=uy" -W

usuario1, ldap-kike.com.uy dn: uid=usuario1,dc=ldap-kike,dc=com,dc=uy uid: usuario1 cn: usuario1 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount shadowLastChange: 14335 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 10000 gidNumber: 10000 homeDirectory: /home/usuario1 gecos: usuario1 # usuario2, ldap-kike.com.uy dn: uid=usuario2,dc=ldap-kike,dc=com,dc=uy uid: usuario2 cn: usuario2 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e2NyeXB0fSQxJFRFREZHTkIzJG9nT3ZKS1R0L0N2aUM0N3EvZEJvbjE= shadowLastChange: 14335 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 10001 gidNumber: 10001 homeDirectory: /home/usuario2 gecos: usuario2

При возникновении трудностей при самостоятельной установке ПО, пожалуйста, ознакомьтесь с условиями оказания услуг по администрированию, предоставляемых AviHost.