群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin

文章目录

  • 前言
    • 安装LDAP Server
        • 新建群组
        • 新增用户
      • DSM加入LDAP
        • DSM使用LDAP登录
      • Gitea配置
        • 登录
        • 取消其登录权限
      • Jellyfin配置
        • 登录
  • 总结

前言

LDAP(轻量级目录访问协议)是一种用于访问和管理分布式目录服务的协议,它具有以下好处:

集中管理用户身份认证和授权:LDAP提供了一种方法,使组织能够集中管理用户的身份认证和授权。通过将用户信息存储在一个中心化的目录服务中,管理员可以更轻松地管理用户账户、密码策略和权限。

也就是说通过ldap 可以实现一个账号、密码可以登陆多个系统或者应用程序,只要他们支持LDAP。

研究几天后发现,使用群晖的LDAP还能够控制用户的登录权限,例如,只让用户登录DSM和Gitea,不能登录jellyfin,而且实现非常简单,这也是为什么选择群晖的套件,而不使用OPENLDAP的原因,其他的也能实现,主要是群晖的安装、使用来简单

安装LDAP Server

首先在群晖的套件中心找到LDAP Server,安装并打开,然后只需设置FQDN和密码即可。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第1张图片

FQDN可随意设置,例如 abc.com

请记住 Base DN 和 BindDN、还有设置的密码,后面需要这些参数。

新建群组

然后找到管理群组,新增两个群组,gitea和jellyfin群组,后续需要使用。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第2张图片

新增用户

点击管理用户,新增一个用户,请自己根据实际情况填写

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第3张图片

加入群组,选择gitea和jellyfin,这是控制这两个登录的权限,取消掉以后就不能使用该账号登录对应的应用。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第4张图片

其他参数根据实际情况填写。

DSM加入LDAP

在控制面版找到域/LDAP

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第5张图片

点击加入按钮,注意,IP为你群晖服务器的IP,DNS可以填路由器的地址,或者119或者114都可以。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第6张图片

BindDN、Base DN 、密码,填上述LDAP Server 的设置参数。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第7张图片

加入成功后的状态。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第8张图片

DSM使用LDAP登录

在控制面版,找到域/LDAP,然后选择LDAP用户,点击更新LDAP数据,可以看到多了一个test用户。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第9张图片

点击家目录,启动LDAP用户家目录服务

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第10张图片

选中用户,邮件编辑,剩下的权限设置就和DMS账号一样,根据实际情况自行设置。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第11张图片

然后使用该账号登录即可。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第12张图片

登录成功!

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第13张图片

Gitea配置

使用管理员账号登录Gitea,找到后台管理,身份及认证---->认证源---->添加认证源

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第14张图片

配置可参考gitea的设置

参数 说明
主机 群晖IP地址
端口 389
绑定DN 群晖LDAP Server 的 BindDN
绑定密码 LDAP Server设置的密码
用户搜索基准 群晖LDAP Server 的 BaseDN

用户过滤规则

(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s))(memberOf=cn=gitea,cn=groups,dc=abc,dc=com))

请注意,其中cn=gitea的giea为ldap 服务器设置的群组名称。后面的,dc=xxx,dc=xxx为BaseDN,这两个一定要根据实际情况进行修改,这也是设置登录权限的关键。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第15张图片

后面的参数照填即可。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第16张图片

登录

第一次登录会提示用户名或密码不正确,不要慌,再点击一次登录即可。估计是第一次没同步。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第17张图片

第二次登录成功

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第18张图片

可以看到用户认证源为ldap

!群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第19张图片

取消其登录权限

找到LDAP Server ,选择用户,右键编辑,用户群组,将gitea取消掉,然后再次测试,发现会一直提示用户名或密码不正确。

!群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第20张图片

Jellyfin配置

首先在插件中心安装LDAP-Auth这个插件

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第21张图片

参数 说明
LDAP Server 群晖IP地址
LDAP Port: 389
LDAP Bind User 群晖LDAP Server 的 BindDN
LDAP Bind User Password LDAP Server设置的密码
LDAP Base DN for searches 群晖LDAP Server 的 BaseDN

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第22张图片
群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第23张图片

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第24张图片

LDAP Search Filter,这个和gitea不一样,但是也很类似,

其中cn=jellyfin的jellyfin为ldap 服务器设置的群组名称。后面的,dc=xxx,dc=xxx为BaseDN,这两个一定要根据实际情况进行修改,这也是设置登录权限的关键。

(&(memberOf=cn=jellyfin,cn=groups,dc=abc,dc=com)(objectClass=inetOrgPerson))

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第25张图片
群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第26张图片

登录

输入账号密码,一次性登陆成功。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第27张图片

可以看见账号认证为LDAP

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第28张图片

取消其登录权限见gitea取消其登录权限。

总结

目前使用一段时间基本没有啥问题。但是有已下几个缺陷:
1.无法在gitea和jellyfin更改密码,但是可以登录dsm自助修改密码。
2.其中的封禁登录功能对gitea和jellyfin无效,封禁之后仍可继续登录,但是对dsm有效。

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin_第29张图片

3.只有在LDAP添加的用户才能实现以上功能。
4.LDAP认证服务器一旦挂掉,所有的应用也就无法登录。
5.LDAP服务器里的用户删掉后,其它平台的用户依旧存在,需要手动删除用户以及配置。
6.LDAP认证服务器一旦挂掉,所有的应用也就无法登录。
7.LDAP服务器里的用户删掉后,其它平台的用户依旧存在,需要手动删除用户以及配置。

本来也就是家用,所以以上问题看起来也不是什么问题,剩下的只能继续慢慢研究。

大家有没有其他支持LDAP认证的平台软件推荐。

你可能感兴趣的:(服务器,gitea,运维,群晖,LDAP,jellyfin)