Deepin系统基于LDAP统一认证
本人近期参与团队做Deepin相关的项目时,需要如同微软AD一样对各终端进行统一认证管理,则本想着通过搜索网上相关资料和官方相关文档一步一步操作很快搞定,却发现网络上Deepin的这块指导文档几乎没有。通过本人对Linux系统的理解摸索和查看Deepin dde-session-ui源码资源,经反复的测验,最终走通了整个流程。为表示支持一下国产开源系统DeepinOS,决定整理分享一下相关指南以方便大家更快的使用DeepinOS深度性的功能,并集成应用到工作环境中去。
注:文档不会对LDAP Server部署与配置操作进行说明,请查找网上相关资源,这方面比较多。另外本人应用的Deepin系统环境为V20社区版本。
Deepin对 LDAP Client工具安装与配置
第一步: 安装默认此处安装时有Console UI可以配置LDAP client,可以忽略或按流程进行连接LDAP Server端设置,如果选择忽略则进行下面第二步操作。
sudo apt-get install libnss-ldap libpam-ldap ldap-utils nscd -y
第二步: 查看或编辑两个配置文件这两个为主要的LDAP客户端认证配置文件,如果在第一步通过UI界面配置了应该会自动生成相关的配置,则不需要手动修改配置。
/etc/libnss-ldap.conf
/etc/pam_ldap.conf
可以参看一下本人环境配置实例,注意"X"需要根据自己实际的LDAP服务器信息选择协议与地址等配置(这方面配置可参照debian ldap客户端安装指南)。
#/etc/libnss-ldap.conf配置内容
base dc=XXXXX,dc=XX
uri ldap://X.X.X.X
ldap_version 3
rootbinddn cn=XXXX,dc=XXXXX,dc=XX#/etc/pam_ldap.conf配置内容
base dc=XXXXX,dc=XX
uri ldap://X.X.X.X
ldap_version 3
pam_password crypt
第三步 配置/etc/pam.d/common-*文件/etc/pam.d/common-auth
可通过执行 pam-auth-update --force 自动生成
/etc/pam.d/common-account
/etc/pam.d/common-password
/etc/pam.d/common-session-noninteractive
可参考一下本人环境的相关配置
#/etc/pam.d/common-auth更新后的配置
auth[success=4 default=ignore]pam_deepin_auth.so<== 参数减少
auth[success=2 default=ignore]pam_unix.so nullok_secure try_frist_pass<== 新增行
auth[success=1 default=ignore]pam_ldap.so use_first_pass<== 新增行
authrequistitepam_deny.so
authrequiredpam_permit.so
#/etc/pam.d/common-account更新后的配置
account [success=2 new_authtok_reqd=done default=ignore]pam_unix.so<== 优先级'1' 变 '2'
account [success=1 default=ignore]pam_ldap.so<==新增行
account requistitepam_deny.so
account requiredpam_permit.so
#/etc/pam.d/common-password更新后的配置
password[success=2 default=ignore] pam_unix.so obscure sha512
password[success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
passwordrequistitepam_deny.so
passwordrequiredpam_permit.so
passwordoptionalpam_gnome_keyring.so
#/etc/pam.d/common-session-noninteractive更新后的配置
session [default=1]pam_permit.so
session requistitepam_deny.so
session requiredpam_permit.so
session requiredpam_unix.so
session optionalpam_ldap.so
第四步 Deepin 开启ldap用户认证greeter UI配置文件位置
此步为关键步骤,只有开启相关配置才能在系统LOGIN时选择“输入用户”界面
/usr/share/dde-session-ui/dde-session-ui.conf
修改以下项:
[general]
loginPromptInput=true
[lock]
showSwitchUserButton=always
dde-session-ui.conf 配置说明
- General/loginPromptAvatar 设置是否启用本地用户列表,默认为true。
- General/loginPromptInput 设置是否启用LDAP登录,默认为false。
- Lock/showSwitchUserButton 设置是否显示用户切换按钮,值固定三项: [always | ondemand | disabled],默认为ondemand。
- Power/sleep 设置是否启用锁屏、登录界面和关机界面的待机按钮。
- Power/hibernate 设置是否启用锁屏、登录界面和关机界面的休眠按钮。
- OS/isDeepin 设置是否启用锁屏的指纹和密码同步验证机制,在Deepin发行版为true,其他发行版为false。
2)开启Deepin系统SSH服务,先通过SSH来验证LDAP用户与认证是否正常
3)tail -f /var/log/auth.log 测试时实时查看日志信息,如果出错可以日志反馈信息排查问题点(本人遇到几次LDAP服务器连接问题,日志上可以明显提示出来并可查看是哪个进程报错,如是libnss还是pam_ldap相关的信息等)
【Deepin系统基于LDAP统一认证】希望本文对各位有帮助,同时望有更多的技术爱好者用行动去支持国产化系统的发展。
?转文者请备注作者:Xiao_Yang?
推荐阅读
- 深入浅出 —— 操作系统知识点大复习 !
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式
- Linux_drivers|基于linux的I2C驱动与调试(传统ID匹配方式)
- Linux系统编程|Linux线程间通信之条件变量(十七)
- 更改AlertDialog系统颜色
- 【Linux入门第3天】-Linux入门之计算机与操作系统
- 视觉|基于opencv的haar训练自己的识别器【含 opencv_traincascade.exe和opencv_haartraining.exe下载】
- Linux笔记之系统分区
- 光伏行业mes系统解决方案
- 自己开发大学App(查成绩,一卡通,课表,一键评教,正方系统……)