2015-03-09 2 views
0

Я столкнулся с тем, что настроил сервер блокировки на LDAP-сервере на CentOS. Я использую файлы конфигурации on-line в /etc/openldap/slapd.d В документации говорится, что вы не должны изменять эти файлы вручную, а файлы проверяются. Но я не могу использовать ldapmodify, потому что я не могу войти (простая привязка) - и я не могу войти в систему, потому что не могу установить пароль для пользователя - и я не могу установить пароль для пользователя, потому что Я не могу использовать ldapmodify, потому что я не могу войти в систему, потому что я не могу установить пароль, потому что ...Как выполнить начальную настройку slapd OLC с помощью ldapmodify

Я мог бы, конечно, настроить его, отредактировав файлы напрямую - и я сделал это, и он работает. Но это меня просто задевает, что я не могу найти способ сделать это «правильно».

+0

Я редко редактирую эти файлы * в экстремальных условиях. * Я никогда не читал, что они контрольно-суммированы. Они не могут быть или это потерпит неудачу. В этой ситуации я не вижу, чтобы у вас был выбор. – EJP

+0

В верхней части файла есть комментарий # АВТОМАТИЧЕСКИЙ ФАЙЛ - НЕ РЕДАКТИРУЙТЕ !! Используйте ldapmodify. # CRC32 3a7e5612 Сервер slapd бросает предупреждение при запуске, но ничего не происходит «плохо». BTW: Ubuntu запрашивает у вас пароль при установке пакета slapd ... думаю, я в какой-то момент проверю файлы после выполнения. – Chris

ответ

3

Ubuntu (Debian пакеты)

Ubuntu и, возможно, другие дистрибутивы с DEBiAN пакетами пытаются быть супер умными и настроить все для вас - который действительно становится проблемой, когда вы хотите сделать неинтерактивную установку, потому что debconf установит случайные админ-пароли, а также сконфигурирует base-DN в соответствии с вашим именем. Возможно, вы сможете угадать base-DN, но вы не можете угадать пароль, и поскольку он удаляется из debconf-DB после установки, вы не можете его прочитать.

Однако вы можете настроить пароли и DN до того установки пакета:

export DEBIAN_FRONTEND=noninteractive 
sudo debconf-set-selections <<EOF 
slapd slapd/internal/generated_adminpw password changeme 
slapd slapd/password2 password changeme 
slapd slapd/internal/adminpw password changeme 
slapd slapd/password1 password changeme 
slapd slapd/domain string example.com 
slapd shared/organization string example.com 
EOF 

sudo apt-get install -y slapd ldap-utils 

Будьте очень осторожны с пробелами здесь: положить два пробела перед паролем будет установить пароль для __changeme_ (то есть: (blankspace) ChangeMe)

Благодаря OpenStackPro для показа, как настроить выбор

Вы можете проверить установку с

ldapsearch -x -D "cn=admin,dc=example,dc=com" -w "changeme" 

, который должен выводиться в чем-то вроде

# extended LDIF 
# 
# LDAPv3 
# base <> (default) with scope subtree 
# filter: (objectclass=*) 
# requesting: ALL 
# 

# search result 
search: 2 
result: 32 No such object 

# numResponses: 1 

Это означает, что нет ничего в вашем LDAP-базы данных (пока), но, по крайней мере, вы были в состоянии войти в систему :-)

Если вы получите что-то вроде

ldap_bind: Invalid credentials (49) 

вам нужно дважды проверить свой admin-DN и пароль. Вы можете проверить свой админ-DN с

sudo slapcat -n0 | grep olcRootDN 

CentOS 6.6 (и, скорее всего, RedHat, Fedora и т.д.)

Установите пакеты

sudo yum -y install openldap openldap-servers openldap-clients 

Сначала получить пароль хэш-с

slappasswd -s changeme 

Знайте, что CentOS-пакет использует my-domain.com вместо примера .com, поэтому вам может потребоваться соответствующим образом адаптировать команды.

Создать начальный LDIF, в файле, как init.ldif:

dn: dc=my-domain,dc=com 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
o: my-domain.com 
dc: my-domain 

dn: cn=admin,dc=my-domain,dc=com 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: admin 
description: LDAP administrator 
userPassword: {SSHA}rX8oWGKW6B7mKY+nUJhrv4g1pPH5KtQg 

Чтобы написать этот конфиг к использованию LDAP:

sudo slapadd -F /etc/openldap/slapd.d -b "cn=config" -l init.ldif 

Опять же, вы можете протестировать вашу установку с

ldapsearch -x -D "cn=admin,dc=my-domain,dc=com" -w "changeme" 

(смотри выше в "Ubuntu")

+0

Не могли бы вы объяснить, почему нужно установить пароль для 4 свойств debconf? Я попытался установить его на password1 и password2 (думаю, для подтверждения), и он работает. Просто прошу, если я что-то убью. –

Смежные вопросы