业务系统越来越多,服务器也越来越多,本文主要是给企业用户减少账号密码管理难度的。

目的:使用ldap统一管理账号密码,实现单点登录linux。

一点废话,网上找了很多文章,看得云里雾里,搞了几天算是搞明白了一点,记录一下,希望有人能用得上。

小白文,接触过一点linux的都可以尝试一下

环境准备

ldap server 本文用的群晖上的

操作系统debian 12,理论上linux都可以用

开搞前强烈建议对使用的虚拟机进行快照,不要直接在生产服务器上使用。

ldap server搭建过程:略

ldap server 信息如下:

域:my
ip:10.0.0.251
base dn: dc=my
bind dn: uid=root,cn=users,dc=my
密码: abcd1234

以下为debian 12上的操作

安装sssd ldap-utils,如果安装过别的ldap管理工具,请先卸载。所有命令均为root下运行

apt update
apt install sssd ldap-utils

测试ldap是否可用,然后输入管理员密码

ldapsearch -x -b "dc=my" -D "uid=root,cn=users,dc=my" -H ldap://10.0.0.251 -W

重点是框出来的这几项,如果没有的话,那就得重新做映射了,标准的应该都有。

测试成功,创建sssd.conf,默认没这文件nano /etc/sssd/sssd.conf 用的系统可以用vi或vim

[sssd]
services = nss, pam
domains = my #域,和下面[domain/my]对应
[nss]
debug_level = 9
#filter_groups = root #不知道有啥用,反正我注释掉了
#filter_users = root #不知道有啥用,反正我注释掉了
entry_cache_timeout = 300
entry_cache_nowait_percentage = 75
[domain/my] #这儿的my对应上面的域,抄作业记得改名字
debug_level = 9
auth_provider = ldap
id_provider = ldap
chpass_provider = ldap
ldap_schema = rfc2307 #ldap版本,默认就是这个rfc2307其它还有rfc2307bis,IPA,AD
ldap_uri = ldap://10.0.0.251:389 #改了host的话也可以填my,我这儿用的ip
ldap_search_base = dc=my #base dn
ldap_default_bind_dn = uid=root,cn=users,dc=my #dind dn
ldap_default_authtok_type = password #认证方式,密码认证
ldap_default_authtok = abcd1234 #ldap的管理员密码
override_homedir = /home/%u #重定向用户文件夹为/home/用户名
override_shell= /bin/bash #修改默认shell为/bin/bash,群晖默认是/bin/sh,不好用,所以改了

用nano编辑器的按ctrl+x输入y保存并退出,用vi或vim的按i进行编辑,按esc退出编辑模式退直接输入:wq后保存退出

修改sssd.conf的权限,并重启sssd服务

chmod 600 /etc/sssd/sssd.conf      #一般是600,如果报权限错误可以试试改成777再看看
systemctl restart sssd

查看sssd状态

systemctl status sssd

正常如下,如果之前有安装过nscd之类的,会报错。



验证用户,abc为ldap上的用户

getent passwd abc



能够查询到用户说明ldap已经连接成功了,如果查不到,那就需要排查一下

查阅日志sssd_域,我这儿是my

tail -f /var/log/sssd/sssd_my.log

或者直接用

tail -f /var/log/sssd/sssd_*.log

配置为第一次登录的用户创建home目录,选配

pam-auth-update --enable mkhomedir

解决掉各种问题后,尝试ssh登录

参考文献:

https://www.mankier.com/5/sssd-ldap-attributes

https://www.mankier.com/5/sssd-ldap

https://cn.linux-console.net/?p=13587

https://hmli.ustc.edu.cn/doc/linux/ubuntu-ldap/ubuntu-ldap.html

ldap sssd授权linux登录的更多相关文章

  1. LDAP未授权访问学习

    LDAP未授权访问学习 一.LDAP 介绍 LDAP的全称为Lightweight Directory Access Protocol(轻量级目录访问协议), 基于X.500标准, 支持 TCP/IP ...

  2. IIS 解决问题:HTTP 错误 401.1 - 未授权:登录失败

    解决问题:HTTP 错误 401.1 - 未授权:登录失败 HTTP 错误 401.1 - 未授权:登录失败 Internet 信息服务 -----------解决这个问题,折磨了两天,终于搞定了,首 ...

  3. Foxmail 登录 qq 账号时无法登录 提示我们设置了独立密码或使用授权码登录的解决方法

    Foxmail 登录 qq 账号时无法登录  提示我们设置了独立密码或使用授权码登录的解决方法 1.首先我们设置我们邮箱的类型如下图所示 2.打开网页版的qq邮箱  在设置--->账户---&g ...

  4. HTTP 401.1 - 未授权:登录失败

    1 HTTP 401.1 - 未授权:登录失败 由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问.    解决方案: 1 打开IIS,右键站点,选 ...

  5. Oracle12C用户创建、授权、登录

    Oracle12C用户创建.授权.登录 1.以系统用户登录 C:\Users\LEI>sqlplus sys/dwh as sysdba; SQL*Plus: Release 12.1.0.2. ...

  6. [记录] Linux登录前后提示语

    Linux登录前后提示语 /etc/issue 本地(虚拟控制台KVM等)登录前提示语,支持转义字符 /etc/issue.net 远程(telnet,ssh)登录前提示语,不支持转义字符 /etc/ ...

  7. linux登录后出现-bash-4.1$

    linux登录后有时候会出现-bash-4.1$ 造成这样的原因: 与这个用户有关环境变量没了,有关的文件被删除.也就是用户的家目录下面 .bash_profile .bashrc 被删除. 解决办法 ...

  8. linux 登录后有时候会出现-bash-4.1$

    转载自https://blog.csdn.net/jiedao_liyk/article/details/78470498 linux登录后有时候会出现-bash-4.1$ 造成这样的原因: 与这个用 ...

  9. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-4.微信授权一键登录开发之授权URL获取

    笔记 4.微信授权一键登录开发之授权URL获取     简介:获取微信开放平台扫码连url地址 1.增加结果工具类,JsonData;  增加application.properties配置      ...

  10. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍

    笔记 1.数据信息安全--微信授权一键登录功能介绍 简介:讲解登录方式优缺点和微信授权一键登录功能介绍         1.手机号或者邮箱注册             优点:              ...

随机推荐

  1. Pycharm 2022 取消双击 shift 搜索框

    Pycharm取消双击shift搜索框 基于PyCharm 2022.3.2 (Professional Edition),旧版本修改方式自行搜索 双击shift弹出搜索框,输入内容double mo ...

  2. 大语言模型底层架构丨带你认识Transformer

    本文分享自华为云社区<大语言模型底层架构你了解多少?大语言模型底层架构之一Transfomer的介绍和python代码实现>,作者: 码上开花_Lancer . 语言模型目标是建模自然语言 ...

  3. 公司敏感数据被上传Github,吓得我赶紧改提交记录

    大家好,我是小富- 说个事吧!最近公司发生了一个事故,有同事不小心把敏感数据上传到了GitHub上,结果被安全部门扫描出来了.这件事导致公司对所有员工进行了一次数据安全的培训.对于这个事我相信,有点工 ...

  4. Linux笔记03: Linux常用命令_3.4文件和目录共用命令

    3.4 目录和文件共用命令 3.4.1 rm命令 ●命令名称:rm. ●英文原意:remove files or directories. ●所在路径:/usr/bin/rm. ●执行权限:所有用户. ...

  5. lower_bound() upper_bound()函数

    转自http://blog.csdn.net/niushuai666/article/details/6734403 函数lower_bound()在first和last中的前闭后开区间进行二分查找, ...

  6. Java8函数式编程应用

    我们经常提到,Java8是革命性的一个版本,原因就是正式引入了函数式编程,那Java的函数式编程在实际应用中到底有什么用呢?结合实际的应用,我整理出了函数式在Java的几个经典用途. 缓求值 惰性求值 ...

  7. URL路径参数转换器

    作用和基本使用 作用: 用于校验请求的路由参数中的值是否符合符合指定的规则. 这个使用方法和django中的路由参数转换器是差不多的. 至于为什么用路径参数转换器,原因和django中的一样,虽然你可 ...

  8. vue3组合式api生命周期

    生命周期钩子函数 Vue3:https://cn.vuejs.org/api/composition-api-lifecycle.html Vue2:https://v2.cn.vuejs.org/v ...

  9. 使用 GPT4V+AI Agent 做自动 UI 测试的探索

    一.背景 从 Web 诞生之日起,UI 自动化就成了测试的难点,到现在近 30 年,一直没有有效的手段解决Web UI测试的问题,尽管发展了很多的 webdriver 驱动,图片 diff 驱动的工具 ...

  10. Java多线程学习(Day01)

    目录 线程简介 线程实现(重点) 线程状态 线程同步(重点) 线程通信问题 进程与线程概念 --来自百度百科的解释: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资 ...