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

文章目录

前言

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

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

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

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

安装LDAP Server

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

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

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

新建群组

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

新增用户

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

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

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

DSM加入LDAP

在控制面版找到域/LDAP

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

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

加入成功后的状态。

DSM使用LDAP登录

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

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

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

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

登录成功!

Gitea配置

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

配置可参考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

!

取消其登录权限

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

!

Jellyfin配置

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

参数 说明
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 Search Filter,这个和gitea不一样,但是也很类似,

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

复制代码
(&(memberOf=cn=jellyfin,cn=groups,dc=abc,dc=com)(objectClass=inetOrgPerson))


登录

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

可以看见账号认证为LDAP

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

总结

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

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

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

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

相关推荐
七夜zippoe11 分钟前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥18 分钟前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
Fcy6482 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满2 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠2 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
主机哥哥2 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey9032 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀4 小时前
Linux环境变量
linux·运维·服务器
zzzsde4 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器