Gitlab安装及集成LDAP

Gitlab安装及集成LDAP

安装Gitlab

  • 安装和配置依赖软件
yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
  • 安装Gitlab-ce版本
    我们使用云厂商的负载均衡器,所以这边没有配置https,如果需要配置https请查看HTTPS配置
# 添加仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

#安装Gitlab-ce
EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
  • 配置LDAP
    配置文件/etc/gitlab/gitlab.rb
gitlab_rails['ldap_enabled'] = true

###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main: # 'main' is the GitLab 'provider ID' of this LDAP server
     label: 'LDAP'
     host: 'x.x.x.x'
     port: 389
     uid: 'cn'
     bind_dn: 'cn=Manager,dc=example,dc=com'
     method: 'plain' # "tls" or "ssl" or "plain"
     password: '123456'
     active_directory: true
     allow_username_or_email_login: false
     lowercase_usernames: false
     block_auto_created_users: false
     base: 'ou=people,dc=example,dc=com'
     user_filter: ''
EOS

uid 默认sAMAccountName 这边配置为cn 如果要使用中文登录时就使用默认配置
bind_dn 域服务器的管理员账号,根据实际情况修改
active_directory 似乎是针对连接是否是ad域控的标示,因为这部分是域服务器的配置,故为true
allow_username_or_email_login 用户登录是否用户名和邮箱都可以,方便用户故配置true
base 用户列表所在的目录,因为新增的用户都在People下(试验了用户放在User时gitlab检测不到用户,故新建了一个目录People,并将新建的用户移入了该目录下),故这么配置,根据实际情况修改
修改完以上配置后需要重置gitlab参数:

gitlab-ctl reconfigure
gitlab-ctl restart

# 查看日志
gitlab-ctl log
  • 配置邮箱
    配置文件/etc/gitlab/gitlab.rb,配置完成之后需要gitlab-ctl reconfiguregitlab-ctl restart
    QQ exmail (腾讯企业邮箱)配置如下,更多邮箱配置示例
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
  • Gitlab使用
    在安装好gitlab之后第一次访问时会让初始化root用户密码,初始化完之后使用正常登录就可以进入gitlab,再使用LDAP用户登录,登录时可能出现的异常
    . Could not authenticate you from Ldapmain because "Invalid credentials".
    出现这种异常一般都是gitlab.rb配置文件中的配置有问题,修改配置文件后reconfigure再重启gitlab就可以

  • 重置Gitlab的root用户密码
    1.gitlab-rails console production
    2.查询root用户信息 u=User.where(id:1).first
    3.重置root密码 u.password = 'YOUR_PASSWORD' u.password_confirmation = 'YOUR_PASSWORD'
    4.保存以上操作 u.save!

GitLab是一个基于Web的Git版本控制系统,它可以与外部LDAP(Lightweight Directory Access Protocol)服务器集成,以便对身份验证进行集中管理。如果你需要在GitLab中通过LDAP修改用户的密码,通常情况下,这不会直接在GitLab UI中完成,因为密码修改通常由LDAP服务器负责,GitLab仅负责验证和同步这些更改。 以下是通过GitLab配置和使用LDAP修改用户密码的一般步骤: 1. **配置GitLabLDAP集成**: - 登录到你的GitLab实例,转到"Admin Area" > "Settings" > "Auth & Security"。 - 在"Single sign-on"部分,选择" LDAP / Active Directory"并启用它。 - 填写LDAP服务器的详细信息,如URL、基础DN、用户和组映射等。 2. **设置密码策略**: - 如果你想限制密码的复杂性或者需要强制用户定期更改密码,可以在"Password policy"设置中配置。 3. **密码更改触发于LDAP**: - GitLab默认应该会从LDAP获取密码信息,如果用户在LDAP上修改了密码,GitLab会相应地更新。但实际操作中,你可能需要确保LDAP的密码策略已经设置为允许用户自助更改密码,或者你作为管理员需要手动同步。 4. **用户自助密码更改** (可选): - 如果你的LDAP服务器支持,用户可以通过GitLabLDAP身份验证页面更改密码。但通常,密码更改是由管理员在GitLab后台执行的。 5. **管理员操作**: - 如果用户无法自行更改,管理员需要登录到GitLab,转到"Users" > "编辑用户",在用户详情页中找到"Password"选项,输入新密码并保存。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值