开发者工具 · 2023年5月14日

手把手教你在GitLab中部署LDAP

gitlab是一款高效的代码管理工具,它能够帮助团队更加高效地管理代码,并实现更好的协作。在一个团队中,有时需要对不同人员授予不同的权限,这时就需要使用ldap来对gitlab进行认证工作。接下来,我们就来了解一下如何在gitlab中部署ldap。

一、安装LDAP插件

首先,在安装GitLab之前,需要先安装LDAP插件。在安装完GitLab之后,我们进入GitLab的安装目录,安装LDAP依赖包。

yum install openldap openldap-devel -y

登录后复制

安装完依赖包之后,我们需要安装GitLab的LDAP插件,先进入GitLab的插件目录:

cd /usr/share/gitlab/lib/gitlab/auth/backends/

登录后复制

然后,我们需要下载LDAP插件的tar包:

sudo curl -o ldap.tar.gz https://gitlab.com/gitlab-org/gitlab-ce/repository/archive.tar.gz?ref=master

登录后复制

解压LDAP插件的tar包,覆盖原有文件:

sudo tar -zxf ldap.tar.gz --strip-components 2 gitlab-ce-master/lib/gitlab/auth/backends/gitlab_ldap/

登录后复制

重新执行GitLab的配置:

sudo gitlab-ctl reconfigure

登录后复制 登录后复制

二、配置LDAP

在安装LDAP插件后,我们需要对GitLab进行LDAP的配置。打开GitLab的配置文件,添加LDAP配置内容:

sudo vim /etc/gitlab/gitlab.rb

登录后复制

我们需要配置的主要参数如下:

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
  main: # ‘main’其实是名称,可以根据实际情况进行配置,下面也需要使用同样的名称
    label: 'LDAP'
    host: 'ldap.example.com' # LDAP服务器地址
    port: 389 # LDAP服务器端口
    uid: 'sAMAccountName' # 用户登录时需要使用的属性
    block_auto_created_users: false # 是否阻止自动创建
    bind_dn: 'CN=ldapuser,OU=Web Services,DC=example,DC=com' # LDAP的管理员账户
    password: 'yourpassword' # LDAP管理员账户的密码
    encryption: 'plain' # 加密方式,plain或tls
    base: 'CN=Users,DC=example,DC=com' # 查询的基础DN
    user_filter: '' # 根据需要设置用户筛选规则
EOS

登录后复制

配置完之后,重新执行GitLab的配置:

sudo gitlab-ctl reconfigure

登录后复制 登录后复制

三、测试LDAP连接

配置完LDAP之后,我们需要测试LDAP连接是否成功。首先,我们需要在LDAP上创建一个测试账户,例如:testuser。

在GitLab服务器上使用ldapsearch命令测试LDAP连接,例如:

ldapsearch -H ldap://ldap.example.com -x -b "CN=Users,DC=example,DC=com" -D "CN=ldapuser,OU=Web Services,DC=example,DC=com" -w 'yourpassword'

登录后复制

如果连接成功,我们可以查看LDAP中用户信息,例如:

# testuser, Users, example.com
dn: CN=testuser,CN=Users,DC=example,DC=com
objectClass: top
objectClass: person
...

登录后复制

如果出现以上信息,说明连接成功。

四、在GitLab中启用LDAP

当LDAP连接成功之后,我们需要在GitLab中启用LDAP。启用LDAP后,每个LDAP用户都能够登陆GitLab,并使用其允许的权限。

在GitLab的用户面板中,单击“Administrator area” -> “Settings” -> “LDAP”,然后启用LDAP选项。

我们需要配置的主要参数如下:

  • “Host”:LDAP服务器地址
  • “Port”:LDAP服务器端口
  • “Base”:LDAP的基础DN

根据情况,我们也可以修改登录时使用的属性名,以及在LDAP过滤器中添加自定义规则,以筛选特定的用户。

五、总结

通过这篇文章的介绍,我们可以知道如何在GitLab中部署LDAP。在GitLab中启用LDAP可以有效地管理团队中的用户,为日后的开发工作提供了良好的基础。

以上就是手把手教你在GitLab中部署LDAP的详细内容,更多请关注GTHOST其它相关文章!