В данной главе за исходное положение примем базу данных mdb
с минимальными настройками, как после инициализации, только без наложения ppolicy
:
$ ldapsearch -xLLL -o ldif-wrap=no -D cn=config -w secret -b olcDatabase={1}mdb,cn=config dn: olcDatabase={1}mdb,cn=config objectClass: olcMdbConfig olcDatabase: {1}mdb olcDbDirectory: /var/lib/ldap/dc=mycompany,dc=ru olcSuffix: dc=mycompany,dc=ru olcRootDN: cn=manager,ou=System,dc=mycompany,dc=ru olcRootPW: {SSHA}PKFrwbIL/zLd3gabPPLxn1vNq2jQHj4g olcDbIndex: objectClass eq olcDbIndex: cn eq,sub,subinitial olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none olcAccess: {1}to * by self write by * read
Сам пользовательский каталог тоже имеет минимальное наполнение:
$ ldapsearch -xLLL -o ldif-wrap=no -b dc=mycompany,dc=ru dn: dc=mycompany,dc=ru objectClass: organization objectClass: dcObject dc: mycompany o: My Company
Добавим туда контейнеры для учётных записей пользователей и групп, а также несколько самых простых учётных записей пользователей. Для этого создадим такой файл 001-containers_and_users.ldif
:
# Контейнер для учётных записей пользователей
dn: ou=People,dc=mycompany,dc=ru
objectClass: organizationalUnit
ou: People
# Учётные записи пользователей
dn: uid=antonova,ou=People,dc=mycompany,dc=ru
objectClass: inetOrgPerson
uid: antonova
cn: Antonina Antonova
sn: Antonova
userPassword: antonovaPassword
dn: uid=ivanov,ou=People,dc=mycompany,dc=ru
objectClass: inetOrgPerson
uid: ivanov
cn: Ivan Ivanov
sn: Ivanov
userPassword: ivanovPassword
dn: uid=petrov,ou=People,dc=mycompany,dc=ru
objectClass: inetOrgPerson
uid: petrov
cn: Petr Petrov
sn: Petrov
userPassword: petrovPassword
dn: uid=sidorov,ou=People,dc=mycompany,dc=ru
objectClass: inetOrgPerson
uid: sidorov
cn: Sidor Sidorov
sn: Sidorov
userPassword: sidorovPassword
# Контейнер для групп
dn: ou=Groups,dc=mycompany,dc=ru
objectClass: organizationalUnit
ou: Groups
И применим его:
$ ldapadd -x -D cn=manager,ou=System,dc=mycompany,dc=ru -W -f ./001-containers_and_users.ldif Enter LDAP Password: adding new entry "ou=People,dc=mycompany,dc=ru" adding new entry "uid=antonova,ou=People,dc=mycompany,dc=ru" adding new entry "uid=ivanov,ou=People,dc=mycompany,dc=ru" adding new entry "uid=petrov,ou=People,dc=mycompany,dc=ru" adding new entry "uid=sidorov,ou=People,dc=mycompany,dc=ru" adding new entry "ou=Groups,dc=mycompany,dc=ru"
Итак, исходное для данной главы содержимое каталога:
$ ldapsearch -xLLL -o ldif-wrap=no -b dc=mycompany,dc=ru 1.1 dn: dc=mycompany,dc=ru dn: ou=People,dc=mycompany,dc=ru dn: uid=antonova,ou=People,dc=mycompany,dc=ru dn: uid=ivanov,ou=People,dc=mycompany,dc=ru dn: uid=petrov,ou=People,dc=mycompany,dc=ru dn: uid=sidorov,ou=People,dc=mycompany,dc=ru dn: ou=Groups,dc=mycompany,dc=ru