项目管理秘术之LDAP+Gitea统一认证Git服务器账户管理

很多时候我们需要管理多个内容管理系统,比如Jira、Jenkins、GitEA/Gitlab等等各种管理系统,我们需要每一套管理系统每个人都管理一套密码,每套系统每套密码简直是一种灾难,于是LDAP可以解决我们的问题,帮我们统一账户登录认证,是最早的SSO系统雏形,方便的在各个系统中登录。

首先我们需要搭建一个LDAP管理系统,我们选用FreeIDA,宿主系统我们选用Fedora。

 

由于使用FreeIPA会顺便帮我们搭建好一系列有关Linux账户、DNS服务、389 Directory LDAP服务、证书管理等各种账户统一 登录认证、策略等功能,于是我们选用FreeIPA来帮我们做好大部分工作,我们只需要配置好我们的服务器为静态IP、并且想好一个域名即可,比如我们当前的例子使用的根域名为dsfedora.org,主机域名hostname 为 www.dsfedora.org,配置/etc/hostname和/etc/hosts绑定时需要注意本机名称一致性。

$ vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
# 本地IP地址,主机名,注意IP需要先配置为静态IP
192.168.0.200  www.dsfedora.org


$ vim /etc/hostname 
# 注意本机主机名要和hosts中的本机绑定主机名一致
www.dsfedora.org

并且在防火墙加入放行端口:

$ sudo firewall-cmd --add-service=freeipa-ldap --add-service=freeipa-ldaps
$ sudo firewall-cmd --add-service=freeipa-ldap --add-service=freeipa-ldaps --permanent

然后安装FreeIPA包:

$ sudo dnf install freeipa-*
$ sudo dnf install bind bind-chroot

如果是centos系统,则使用yum命令,而不是dnf。

然后执行ipa-server-install命令,过程参考这个哥们的配置:

https://blog.csdn.net/hdyebd/article/details/88712320 

注意点1,在配置ipa-server-install过程中需要输入目录服务管理器密码,以及IPA管理员admin用户密码,在这里我们都设置为12345678, 用作测试。

注意点2,在配置ipa-server-install过程中需要配置DNS转发,请一定要设置一个公开的DNS地址,比如114.114.114.114、8.8.8.8等,否则会因为不转发DNS导致本机无法透过网络进行域名解析。

 

于是我们就配置好了FreeIPA,现在我们可以在我们的内网测试机中加入hosts

在C:\Windows\System32\drivers\etc文件加入行:

192.168.0.200  www.dsfedora.org

我们此时就可以在浏览器中打开Free IPA 的web控制台了。

 

 

我们需要登录进去,添加测试用户。

这里使用我们刚才的管理员用户密码:admin,密码12345678。

我们 点击添加增加新用户,添加了一个test用户,密码为test. 然后退出admin账户,登录test账户,会让我们修改密码,我们重新修改成12345678,并且登录进去,我们可以看到这是一个权限非常受限的账户。

由此我们Free IPA配置和测试账户建立结束。FreeIPA的LDAP也已经就绪。待我们使用GitEA接入了。

 

现在我们打开GitEA管理员账户:进入管理面板,选择认证源并且添加一个LDAP认证源。并且填写以下内容。主机名按照自己的配置来设置:

 

以上表单的配置,除了主机名按照自己的配置以外,均可以按照上图原封不动的照抄配置。添加认证源后,我们下次登录时,就可以用FreeIPA中的用户直接登录到我们的Git EA系统中了,GitEA可以直接从我们的FreeIPA的LDAP认证源中读取用户信息了。

其中,由于我们的FreeIPA同时也创建了证书,如果认证源使用了安全协议LDAPS或者TLS,会因为证书信任问题被Git EA拒绝连接,所以我们不选择加密认证,使用Unencrypted。

 

到此为止我们已经配置好了使用LDAP用户登录我们的系统。

需要解释的两个地方:

 

用户搜索基准:

cn=users,cn=accounts,dc=dsfedora,dc=org

由于FreeIPA的LDAP模型是在组织dsfedora.org下的条目(又称DN)cn=accounts存储用户信息条目cn=users的,在cn=users条目下存储了条目,这些条目就是用户id,比如test用户的条目就叫uid=test,该条目下就会存储test用户相关的任意属性和对象类别,比如上图中的uid、sn、givenName、以及mail等属性,这些大多数都是Text类型的属性。

 

用户过滤规则:

(&(objectclass=top)(uid=%s))

刚才说了uid=test下有很多属性,其中还有一种属性叫做ObjectClass,叫对象类别 类型,它是一种属性类型,并且有多个名叫objectclass的对象类别属性(注意大小写),因此我们在用户过滤规则中,可以用一个通用的对象类别为objectclass=top,然后将uid作为查找依据uid=%s进行用户过滤。

绑定user DN和绑定password可以留空。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在无线网络中,LDAP认证服务器结合LDAP服务器进行portal认证通常被用来管理用户身份验证和访问控制。 以下是一个简单的配置案例: 1. 首先,您需要安装和配置LDAP服务器。您可以使用OpenLDAP或Microsoft Active Directory等LDAP服务器。 2. 在您的无线接入点上启用portal认证。这通常需要在接入点的控制台或Web界面中进行配置。确保将端口设置为LDAP服务器使用的端口(通常是389或636)。 3. 在LDAP服务器上创建用户帐户和组。您可以使用LDAP客户端工具(如Apache Directory Studio)创建用户和组。 4. 在LDAP服务器上创建一个名为“cn=wireless,dc=example,dc=com”的组。将所有具有无线访问权限的用户添加到此组中。 5. 在LDAP服务器上创建一个名为“cn=wireless,ou=policies,dc=example,dc=com”的策略对象。将以下属性添加到此对象中: - objectClass: radiusProfile - cn: wireless - radiusTunnelType: 13 - radiusTunnelMediumType: 6 - radiusTunnelPrivateGroupId: 1000 - radiusServiceType: Framed-User - radiusFilterId: wireless 6. 在LDAP服务器上创建一个名为“cn=wireless,ou=groups,dc=example,dc=com”的用户组对象。将以下属性添加到此对象中: - objectClass: radiusGroup - cn: wireless - radiusGroupName: wireless - radiusFilterId: wireless 7. 在LDAP服务器上的“cn=wireless,ou=groups,dc=example,dc=com”中添加用户到“cn=wireless,dc=example,dc=com”组中。 8. 在无线接入点上启用LDAP认证服务器。在控制台或Web界面上配置以下设置: - 服务器类型:LDAP - 服务器地址:LDAP服务器的IP地址或主机名 - 端口:LDAP服务器使用的端口(通常是389或636) - 基本DN:LDAP服务器上存储用户和组的基本DN(例如:dc=example,dc=com) - 用户名属性:LDAP服务器上用户名的属性(例如:uid或cn) - 组名称属性:LDAP服务器上组名称的属性(例如:cn) - 组成员属性:LDAP服务器上组成员的属性(例如:memberUid或member) - 组策略属性:LDAP服务器上组策略的属性(例如:radiusGroupName) 9. 将无线接入点连接到LDAP服务器并测试认证。确保可以使用LDAP用户凭据登录到无线网络。 这是一个基本的LDAP认证服务器结合LDAP服务器进行portal认证的配置案例。根据您的网络和LDAP服务器的要求,您可能需要进行其他配置更改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值