LDAP应用篇(1)CentOS8接入登录

2023-05-16

LDAP应用篇(1)CentOS8接入登录

相比于服务器端的配置,做为客户端接入LDAP的文章和资料就多了许多。能看到的文章都介绍了使用 authconfig 或者 authconfig-tui(此半图形化工具仅V7版本可用) 进行配置的客户端接入方式,十分简单,参照文末的参考资料[1]即可正常完成。

但是对于 CentOS8 系统来说,却略有不同~它取消了 authconfig-tui 工具,同时声明了 authconfig 已经不建议使用,建议改用 authselect 进行配置。经过数天的研究,总算是通过了测试。

测试环境

目前测试客户端的信息如下:

域名/HostnameIPOS
client.example.com192.168.188.221Oracle Linux R8

同时,在 /etc/hosts 中添加服务端地址域名映射。

Linux接入

实际上研究过后回头发现整个步骤还是十分简单的,基本8-9步就可以完成。

安装依赖

# openssl-perl 暂不确定是否需要
yum install openldap-clients sssd sssd-ldap oddjob-mkhomedir -y

在SSSD和LDAP中启用TLS

ldap-client 中创建证书目录 /etc/openldap/certs,当然也可以创建在别的位置,将证书从服务器下载到该目录,也可以通过 openssl 命令从 OpenLDAP 服务端下载到本地证书目录中。

openssl s_client -connect server.example.com:636 -showcerts < /dev/null | openssl x509 -text > /etc/openldap/certs/ca.cert.pem

请注意这个证书目录要在后面的配置中反复使用。

配置LDAP客户端通过SSSD链接LDAP服务器

创建文件 /etc/sssd/sssd.conf ,如果已经存在,则覆写之前的内容。

[sssd]
config_file_version = 2
services = nss, pam,autofs
domains = default

[nss]
homedir_substring = /home

[pam]

[domain/default]
id_provider = ldap
autofs_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://server.example.com:636
ldap_chpass_uri = ldaps://server.example.com:636
ldap_search_base = dc=example,dc=com
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/certs
cache_credentials = True
ldap_tls_reqcert = demand
entry_cache_timeout = 600
ldap_network_timeout = 3
ldap_connection_expire_timeout = 60

接下来,修改文件权限和所有者:

chmod 600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf

配置 ldap.conf

编辑文件: /etc/openldap/ldap.conf ,添加下面的配置信息:

BASE    dc=example,dc=com
URI     ldaps://server.example.com:636

TLS_CACERT     /etc/openldap/certs/ca.cert.pem
TLS_CACERTDIR /etc/openldap/certs

刷新证书

openssl rehash /etc/openldap/certs

配置mkhomedir来自动创建家目录

选择 sssd 作为认证管理套件,此时会备份原有配置系统文件:

authselect select sssd with-mkhomedir --force

# 返回:
备份保存在 /var/lib/authselect/backups/2022-05-19-14-07-19.3q9Ymg
选择了配置文件 "sssd"。
以下 nsswitch 映射信息被配置集覆盖:
- passwd
- group
- netgroup
- automount
- services

Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
 
- with-mkhomedir is selected, make sure pam_oddjob_mkhomedir module
  is present and oddjobd service is enabled and active
  - systemctl enable --now oddjobd.service

启用SSSD 和 ODDJOBD 服务

systemctl enable sssd.service --now
systemctl enable oddjobd.service --now

验证LDAP用户登录

# 可以找到用户,但是无法登录
id <username>

这里需要注意下,可能会无法找到用户,可以试着重启一下 SSSD 服务:

systemctl restart sssd.service

用户过滤

如果不出意外,通过上面的配置,类 CentOS8 系统已经可以使用 LDAP 账户登入系统了。然而这里会发现个问题,似乎所有账户都可以直接登录,这显然不是我们需要的,再次打开 SSSD 的配置文件 /etc/sssd/sssd.conf,添加过滤配置:

access_provider = ldap
ldap_access_order = filter
# 符合一般的逻辑操作 & 标识和,| 表示或。
ldap_access_filter = (&(objectclass=shadowAccount)(objectclass=posixAccount)(memberOf=cn=ecs,ou=group,dc=example,dc=com))

这样,只有 memberOf 属性为 cn=ecs,ou=group,dc=example,dc=composixAccount 类型的账户方可登录该服务器。

修改完成后,依旧要记得重启 SSSD 服务。

参考资料

  • 配置linux主机使用ldap用户
  • 8 simple steps to configure ldap client RHEL/CentOS 8
  • 在 RHEL 中配置身份验证和授权
  • ldap-finds-user-but-permission-denied-when-logging-in
  • openldap主机访问控制(基于用户组)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LDAP应用篇(1)CentOS8接入登录 的相关文章

  • Spring Bean加载的8种方式

    一 在xml文件中通过标签 lt bean gt 实现 二 使用 64 Component以及其衍生的三种注解 64 Controller 64 Service 64 Repository 三 加载第三方bean 复制代码 64 Confi
  • 非对称加密分段处理加密大量数据

    基于RSA非对称加密 属于轻量型加密 加密数据的大小有严格限制 我们可以通过对分段加密方式 实现对大量数据的非对称加密 本文在参考非对称的加密的资料基础之上 实现了大数据的非对称加密 因此少量数据于大量数据都可以实现加密处理 如果仅想实现这
  • 如何理解反向代理

    通常的代理服务器 xff0c 只用于代理内部网络对Internet的连接请求 xff0c 客户机必须指定代理服务器 并将本来要直接发送到Web服务器上的http请求发送到代理服务器中 由于外部网络上的主机并不会配置并使用这个代理服务器 xf
  • ping: www.baidu.com: 未知的名称或服务

    如果如何怎么都连不上外网 可以照搬下面配置 一定可以连通 VMc16 centos7 NAT模式下 注意子网IP和子网掩码的设置 这个决定的IP的取值范围 文件配置如下
  • 权限精确到按钮级别

    在使用sa token轻量级框架下 如何将权限精确到按钮级别 权限精确到按钮级的意思就是指 xff1a 权限范围可以控制到页面上的每一个按钮是否显示 思路 xff1a 如此精确的范围控制只依赖后端已经难以完成 xff0c 此时需要前端进行一
  • 单点登录的发展与应用

    早期我们开发web应用都是所有的包放在一起打成一个war包放入tomcat容器来运行的 所有的功能 所有的业务 后台管理 门户界面 都是由这一个war来支持的 这样的单应用 也称之为单体应用 因为十分不好扩展和拆分 在单体应用下 用户的登录
  • The command could not be located because '/sbin' is not included in the PATH environment variable.

    问题来源 重启Ubuntu后习惯性的执行ifconfig 报错如下 Command span class hljs string 39 ifconfig 39 span span class hljs keyword is span ava
  • bean实例化的方式

    1 最常见 使用构造方法 2 早些年 使用静态工厂的方式 3 更早些年的 使用实例化工厂的方式 4 spring框架常用 实现FactoryBean接口的方式
  • @Autowired

    1 Autowired依赖注入底层是通过反射暴力获取对象并赋值给属性 2 setter与构造器注入是通过给IOC容器提供入口注入的
  • C语言 Hanoi(汉诺)塔问题,用递归解决

    问题 古代有一个梵塔 xff0c 塔内有3个座A xff0c B xff0c C 开始时A座上有64个盘子 xff0c 盘子大小不等 xff0c 大的在下 xff0c 小的在上 有一个老和尚想把64个盘子从A作移到C座 xff0c 但规定每
  • Ubuntu server 22.04 安装kvm

    本人有一台工控机 xff0c 5500u cpu xff0c 8g 内存 xff0c 本来是打算用来跑docker的 xff0c 但是因为要装 k8s 虚拟机会更加合适方便 xff0c 宿主机的系统是ubuntu server 22 04
  • win10 linux 子系统 wsl2实现ip自动转发

    win10 系统带linux子系统有两个版本 第一个是wsl xff0c 它与windows 系统公用同1个ip地址 xff0c 但是没有自己内核 xff0c 不支持docker 第二个版本是wsl2 xff0c 它可以使用docker x
  • 【独家】互联网变现与计算广告(干货+5000字精彩问答)

    本讲座选自2015年9月28日刘鹏先生在清华大数据 技术 前沿 讲座上所做的题为 互联网变现与计算广告 的演讲 刘鹏 xff1a 大家好 xff0c 我是老的清华人 xff0c 诸位都是95后了 xff0c 你们出生的时候我是95年入学 清
  • 本地(window)使用alist和RaiDav网盘挂载

    一 背景 百度网盘的限速可能会让你转战阿里云盘 xff0c 但是阿里云盘的缺点在于不能分享 xff0c 网络上的资源都是通过各类网盘来分享的 xff0c 这样就会让你可能同时拥有不同网盘的账号 那么我们有没有一款工具 xff0c 可以将这些
  • 【笔记】ssd mobilenet 网络

    之前实习用过太多次mobilenet ssd xff0c 但是一直只是用 xff0c 没有去了解它的原理 今日参考了一位大神的博客 xff0c 写得很详细 xff0c 也很容易懂 xff0c 这里做一个自己的整理 xff0c 供自己理解 x
  • 添加与删除 Ubuntu 环境变量

    1 作者的系统是Ubuntu 13 10 xff0c 在其他linux发行版中环境变量的设置方式类似但会有不同 xff1b 2 这里以环境变量PATH为例 xff0c 环境变量还可以有很多 xff0c 也可以自己定义名称 什么是环境变量 环
  • [Kali Linux 安全渗透教程新手版]

    1 1什么是安全渗透 渗透测试时通过模拟黑客的攻击方法 来评估计算机网络系统安全的一种评估方法 通常的评估方式对评估结果更具全面性 而渗透测试更注重安全露的严重性 1 6Kali更新与升级 Ctrl 43 F1 快捷键提示 Ctrl 43
  • CTreeList 拖拽功能实现

    转载地址 http tech ddvip com 2008 11 122662837992492 html Visual C 43 43 中提供的MFC类CtreeCtrl xff08 树型控件 xff09 用来显示具有一定层次结构的数据项
  • 使用hex编码绕过主机卫士IIS版本继续注入

    本文作者 xff1a 非主流 测试文件的源码如下 xff1a 我们先直接加上单引号试试 xff1a http 192 168 0 20 conn asp id 61 1 27 很好 xff0c 没有报错 那我们继续 xff0c and 1
  • Win10启动VMware虚拟机结果宿主机蓝屏重启

    VM启动虚拟机结果宿主机蓝屏重启 xff0c 按照以下步骤处理即可 xff0c 我是通过升级VM版本最终解决的 xff0c 自己看自己的情况 xff0c 都试一下就行 1 操作控制面板 右键windows图标 xff0c 点击搜索 xff0

随机推荐

  • Debian9.12镜像下载及网络、软件源配置

    Debian9 12安装 配置 文章目录 获取镜像虚拟机安装配置网络配置合适的仓库源更新软件包 安装所需工具 搭建环境Debian镜像下载链接其他资源 获取镜像 Debian9 12 Debian 9 12 官方原版镜像下载 任我乐 ren
  • dpkg: 处理软件包 xxx (--configure)时出错 解决办法

    第一步 xff1a 备份 sudo mv var lib dpkg info var lib dpkg info bk 1 第二步 xff1a 新建 sudo mkdir var lib dpkg info 1 第三步 xff1a 更新 s
  • 解决SQL server中提示对象名无效

    用SQL server的时间不长 xff0c 但现在遇到两种情况 xff0c 在这里分别说一下解决办法 1 刚打开SQL server Manager Studio xff0c 想看看表里的信息 xff0c 就写一个查询语句 xff0c 结
  • 解决maven无法下载依赖的问题

    大概从2020年1月底的时候第一次遇到这个问题 xff0c 当时在假期期间自己写小Demo玩 xff0c 依赖下载不了就去找了个包放进去 xff0c 并没有太在意 直至几天后因为疫情在家远程办公的时候新项目的依赖一直下载不了 xff0c 困
  • 解决idea已经添加外部jar包但仍然找不到包的错误

    对于开发人员来说 xff0c 开发项目时除了maven下载的依赖之外 xff0c 一般都需要引入一些公司内部封装的jar包依赖 xff0c 但是有时候会出现明明已经build path了 xff0c 但是build项目的时候还是报错说某某包
  • vmware安装虚拟机提示此主机不支持64位系统,此系统无法运行

    原因 安装虚拟机提示这个是因为和电脑上的Hyper V服务冲突了 xff0c 解决办法是关闭Hyper V服务就可以了 步骤 打开控制面板找到程序和功能 点击启用或关闭Windows功能 找到Hyper V xff0c 此时状态是勾选的 取
  • springboot项目启动指定项目外部yml配置文件

    spring boot的经典项目配置是application yml xff0c 在项目打包部署运行的时候 xff0c 这个文件也会一同打进包里 xff0c 随之启动 这就带来了一个问题 xff1a 如果部署的服务器发生了变动 xff0c
  • MyEclipse安装SVN插件及插件下载地址

    在网上找了很多安装教程 xff0c 但是找到的subclipse的下载地址都访问不到 xff0c 不知道是不是需要翻墙 xff0c 我自己找了个测试过有效的 xff1a 网盘下载地址 xff1a https pan baidu com s
  • Linux 安装并配置 OpenLDAP 新编(3)YUM安装

    Linux 安装并配置 OpenLDAP 新编 xff08 3 xff09 YUM安装 我实操OpenLDAP的过程 xff0c 是先根据官网资料编译安装 xff0c 大约花费了近2周时间 xff0c 也有点陷入牛角尖了 xff0c 一时不
  • org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException

    问题描述 xff1a 1 在application yml文件里的注释乱码 2 idea编辑器提示这个文件被错误的编码UTF 8加载 xff0c 并提示重新使用GBK加载等等 3 项目启动报错 xff1a java nio charset
  • 解决java.lang.IllegalStateException: Cannot call sendError() after the response has been committe

    错误截图 xff1a 错误代码 xff1a 错误原因 xff1a 输出流关闭之后 xff0c socket也已经关闭 xff0c 不能再次发送response xff0c 所以导致错误的就是return的返回值信息 xff0c 这时候把re
  • Object转成JSONObject

    object转jsonObject的时候经常会因为符号报错 xff0c 类似于 xff1a span class token function expect span at span class token number 0 span ac
  • Comparison method violates its general contract!null

    span class token annotation punctuation 64 Override span span class token keyword public span span class token keyword i
  • bigDecimal存到数据库后变成0

    检查数据库该字段 xff0c 小数点栏是不是默认为0了 xff0c 像这样 xff1a 如果是 xff0c 就改成你需要该字段保留的小数点后位数 xff0c 比如你要保留两位 xff0c 这一栏就改成2
  • [教程] 中兴光猫f477V2改固话桥接,支持电脑、手机SIP APP拨打

    坐标北京 联通免费开通固话 xff0c 新给的光猫是比较新的型号中兴F477V2 光猫本身支持voip xff0c 买个最普通的座机接到phone口就可以用了 xff0c 固话号码是01082xxxxxxx打头的 xff0c 资费市内0 1
  • PVE安装笔记

    PVE新安装 1 安装 iso准备 xff0c 系统盘目录有6 2的iso xff0c 挺好用 准备一个U盘 xff0c 最好是usb2 0的 xff0c 用ultraiso写入硬盘镜像 xff0c 注意选择raw格式 xff08 非常重要
  • pve 6.2增加CPU温度显示

    1 安装PVE xff0c 建议用refus烧录U盘 xff0c 记得选DD镜像模式 2 iso文件名 proxmox ve 6 2 1 iso 3 安装 4 替换如下文件中相关字段 具体参考上传文件pve主页添加温度显示 6 2 zip
  • VC++工程头文件重复和循环引用

    复杂工程中头文件众多 xff0c 很容易发生包含顺序 重复引用以及循环引用导致的编译链接错误 xff01 最近整理工程中文件引用时遇到不少这方面的问题 xff01 一般来说 xff0c 包含顺序问题会导致某些类型 函数等无定义 xff0c
  • PyQt+界面防卡死+selenium+多进程爬取图片一次打通!

    创建MyUrl py 编写爬取图片代码 爬取图片 xff0c 实际上就是对网页信息的读取 而selenium可以很好的做到这一点 xff0c 相对于beautifulsoup只能爬取静态前端源码的缺点 xff0c selenium可以解析由
  • LDAP应用篇(1)CentOS8接入登录

    LDAP应用篇 xff08 1 xff09 CentOS8接入登录 相比于服务器端的配置 xff0c 做为客户端接入LDAP的文章和资料就多了许多 能看到的文章都介绍了使用 authconfig 或者 authconfig tui xff0