У меня есть две машины с CentOS 7.0 на каждом. Первый является контроллером домена с OpenLDAP только. Я настроил OpenLDAP согласно этому учебному руководству: http://www.server-world.info/en/note?os=CentOS_7&p=openldap
Затем у меня есть другая машина с GitLab. Я пытаюсь настроить аутентификацию LDAP, но каждый раз я получаю 'Недопустимые Учетные данные' ошибка.
Моя конфигурация GitLab:
gitlab-rails": {
"ldap_enabled": true,
"ldap_servers": {
"main": {
"label": "LDAP",
"host": "192.168.50.4",
"port": 389,
"uid": "uid",
"method": "plain",
"bind_dn": "CN=gitlab,OU=people,DC=courseproject,DC=org",
"password": "mypass",
"active_directory": false,
"allow_username_or_email_login": false,
"base": "OU=people,DC=courseproject,DC=org",
"user_filter": ""
}
Я должен использовать простого автора и LDAP, не LDAPS для другого проекта.
Моя конфигурация пользователей и групп:
dn: dc=courseproject,dc=org
objectClass: top
objectClass: dcObject
objectclass: organization
o: courseproject org
dc: courseproject
dn: cn=admin,dc=courseproject,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: mySHApass
dn: ou=people,dc=courseproject,dc=org
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=courseproject,dc=org
objectClass: organizationalUnit
ou: groups
Я не действительно знаком с OpenLDAP, имел только предыдущий опыт с AD.
Какая информация я могу предусмотреть исследование этой проблемы?
Прежде всего, вы, вероятно, должны изменить конфигурацию для allow_username_or_email_login
на true
.
Затем вы, вероятно, захотите создать группу gitlabusers
, содержащих пользователей, которым вы хотите предоставить доступ к серверу, и изменить user_filter
на '(memberOf = cn = gitlabusers, ou = groups, dc = courseproject, dc = org) '
Затем примените изменения с помощью gitlab-ctl reconfigure
и проверьте конфигурацию LDAP с помощью
gitlab-rake gitlab:ldap:check RAILS_ENV=production
. Если эта команда не предоставит вам список пользователей, которых вы ожидаете, у вас есть ошибка в вашей конфигурации. ..
Для информации, моя конфигурация ниже (против сервера FreeIPA) работает:
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'IPA'
host: 'ipa.mydomain.com'
port: 389
uid: 'uid'
method: 'tls' # "tls" or "ssl" or "plain"
bind_dn: 'uid=gitlab,cn=sysaccounts,cn=etc,dc=mydomain,dc=com'
password: '<password>'
active_directory: false
allow_username_or_email_login: true
#block_auto_created_users: false
base: 'cn=users,cn=accounts,dc=mydomain,dc=com'
user_filter: '(memberOf=cn=gitlabusers,cn=groups,cn=accounts,dc=mydomain,dc=com)'
## EE only
group_base: 'cn=groups,cn=accounts,dc=mydomain,dc=com'
#admin_group: ''
#sync_ssh_keys: true
EOS