您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

Centos8.2 使用 Openldap 认证登录

时间:2020-08-24 13:55:10  来源:  作者:



1. 配置 SSSD

SSSD是系统安全服务守护进程的缩写。它提供对不同身份和身份验证提供者的访问。

//安装 sssd

$ dnf update
$ dnf install sssd sssd-tools

接下来,配置SSSD已允许通过OpenLDAP对本地系统进行身份验证。

SSSD通常不附带任何默认配置文件。因此,需要手动创建和配置它。

//创建 sssd 配置文件

$ vim /etc/sssd/sssd.conf

[sssd]

services = nss,pam,sudo

config_file_version = 2

domains = default

[sudo]

[nss]

[pam]

offline_credentials_expiration = 60

[domain/default]

ldap_id_use_start_tls = True

cache_credentials = True

ldap_search_base = dc=xiodi,dc=cn

id_provider = ldap

auth_provider = ldap

chpass_provider = ldap

access_provider = ldap

sudo_provider = ldap

ldap_uri = ldap://openldap.xiodi.cn

ldap_default_bind_dn = cn=client search,ou=Admin,dc=xiodi,dc=cn

ldap_default_authtok = xiodi.cn

ldap_tls_reqcert = allow

ldap_tls_cacert = /etc/pki/tls/cacert.crt

ldap_tls_cacertdir = /etc/pki/tls

ldap_search_timeout = 50

ldap_network_timeout = 60

ldap_sudo_search_base = ou=SUDOers,dc=xiodi,dc=cn

ldap_access_order = filter

ldap_access_filter = (objectClass=posixAccount)

sssd.conf 参考:https://linux.die.net/man/5/sssd-ldap

//下载证书

$ openssl s_client -connect openldap.xiodi.cn:636 -showcerts < /dev/null | openssl x509 -text
...

-----BEGIN CERTIFICATE-----

MIIDuDCCAqCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBoMQswCQYDVQQGEwJDTjEO

MAwGA1UECAwFSGVOYW4xEjAQBgNVBAcMCVpoZW5nWmhvdTERMA8GA1UECgwIeGlv

ZGkuY24xDDAKBgNVBAsMA2VkdTEUMBIGA1UEAwwLY2EueGlvZGkuY24wHhcNMTkw

NDI3MDk1NzQyWhcNMjAwNDI2MDk1NzQyWjBaMQswCQYDVQQGEwJDTjEOMAwGA1UE

CAwFSGVOYW4xETAPBgNVBAoMCHhpb2RpLmNuMQwwCgYDVQQLDANlZHUxGjAYBgNV

BAMMEW9wZW5sZGFwLnhpb2RpLmNuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB

CgKCAQEA3RLRpDER0KG5zN7O/fROD3oMLb01BOCW+8LmlWz4oy5/KrP8XlrQIzzl

L6Q2eHq2kX5eMalDnQvc2jkmebigYiBbZtASnoYcX1ITneFTPuih/c4CatzvyBUg

P2orGHoJQoIxfZcCZdXalwb0GjuyoIv4CavneA9jA8NF4rgoDJM1jxbKolxnWMCc

uis+2jfG0cBiv7dICpMDDexpF5Dj8tjDLPswXr3xfafwgORGxkVZMxL4KlHseVhV

AcAB3yKVsttB1DmvDUY/MCY5JzRg4Y2rTMkz9OO6BqZg56W3ASeTM2hB1XpLVjm+

VwRq7TNqRk+h5XKUiiD4v6x3B4igpQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG

SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E

FgQUCa8Mlg/I6GH0CDONYnbvfYYTiIMwHwYDVR0jBBgwFoAUyJ9qxzO1nS+/4Vd0

leVcssEnWAowDQYJKoZIhvcNAQELBQADggEBAKmaY3FZ7ixrZwgm537NU+2W6zYH

l7X4D+rF/ASelne/o8p2Bhph3Vne0HvAvb4kmIwiNEjGYf7d0wKfgwFb4pxPv/5j

71dCl92FIykTm76bU4/g/hPWuygXSMqGPJkWhAgfXwaE3SeBmblwMPNSVS2eOQFB

lmqh+1u3B46tbtIwSu7Qui1f6kZSwOvOfOFiiUkFWo132zjP0tJ+VxitNtObqU/G

hp4nh3Ne15lfRuBinla/4KMWlyVdRCstqrePxTJgBNN/P/xjAGTUuPCiK9jpLPWf

INbazksXtG6IO1TTOnaqhjHr0V8vxvZ6fuDDhgy7Gs/l1B7oChifqBWSkag=

-----END CERTIFICATE-----

//保存CA证书

$ vim /etc/pki/tls/cacert

-----BEGIN CERTIFICATE-----

...

-----END CERTIFICATE-----

//配置 ldap

$ vim /etc/openldap/ldap.conf

BASE    dc=xiodi,dc=cn

URI     ldap://openldap.xiodi.cn  ldaps://openldap.xiodi.cn:636

SUDOERS_BASE ou=SUDOers,dc=xiodi,dc=cn

TLS_CACERT /etc/pki/tls/cacert.crt

2. 配置 Name Service Switch 和 PAM

接下来,需要更新NSS和PAM以使用SSSD管理身份验证。

centos的早期版本中,您可以使用像authconfig这样的工具,但它已经被`authselect`这样的工具所取代。

`Authselect`是一个简化用户身份验证配置的实用工具,特别是在使用SSSD进行身份验证时。

(1)配置 SSSD 属性

使用Authselect命令创建一个SSSD配置文件时,基本会修改这些文件;

/etc/pam.d/system-auth

/etc/pam.d/password-auth

/etc/pam.d/fingerprint-auth

/etc/pam.d/smartcard-auth

/etc/pam.d/postlogin

/etc/nsswitch.conf

因此,对这些文件进行备份,以防出现问题。一旦备份了这些文件,请删除它们。

创建一个SSSD配置文件。只有您删除了上面的文件,这个命令才会成功。

$ authselect select sssd

否则,您可以通过添加 `--force` 选项来覆盖文件。

$ authselect select sssd --force

接下来,为了让系统从SSSD/OpenLDAP中获取sudo权限,使用 echo 命令往/etc/nsswitch.con中添加以下内容。

$ echo "sudoers:    files sss" >> /etc/nsswitch.conf

(2)配置自动创建家目录

要在用户第一次登录时为其启用自动创建`家目录`,您需要安装`oddjob-mkhomedir`,它提供`pam_oddjob_mkhomedir`模块,以便在用户登录时为其创建家目录。

//安装 oddjob-mkhomedir

$ dnf install oddjob-mkhomedir

$ systemctl enable --now oddjobd

//加载 pam_oddjob_mkhomedir 模块

$ echo "session optional pam_oddjob_mkhomedir.so skel=/etc/skel/ umask=0022" >> /etc/pam.d/system-auth

$ systemctl restart oddjobd

3. 运行 SSSD

在启动SSSD之前,您需要检查配置是否有错误或权限;

$ sssctl config-check

File ownership and permissions check failed. Expected root:root and 0600.

$ chown -R root: /etc/sssd

$ chmod 600 -R /etc/sssd

$ systemctl enable --now sssd

$ systemctl status sssd

4. 测试

(1) 验证用户

$ id jakczang

 5. 使用 ansible 批量设置

源码参考:https://gitee.com/jack_zang/ansible_playbooks/tree/master/roles/openldap-client-centos8



Tags: Openldap 认证登录   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 配置 SSSDSSSD是系统安全服务守护进程的缩写。它提供对不同身份和身份验证提供者的访问。//安装 sssd$ dnf update$ dnf install sssd sssd-tools接下来,配置SSSD已允许...【详细内容】
2020-08-24  Tags: Openldap 认证登录  点击:(780)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条