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