CentOS7.x 构建SSSD服务与openldap整合
  TEZNKK3IfmPf 2023年11月12日 54 0

CentOS7.x 构建SSSD服务与openldap整合

标签(空格分隔):运维系列



一:SSSD 服务介绍:

1.1. SSSD 介绍:

SSSD是自红帽企业版Linux6起新加入的一个守护进程,该进程可以用来访问多种验证服务器,如LDAP,Kerberos等,并提供授权。SSSD是
介于本地用户和数据存储之间的进程,本地客户端首先连接SSSD,再由SSSD联系外部资源提供者(一台远程服务器)。 

这样做有一些几点优势:

1.避免了本地每个客户端程序对认证服务器大量连接,所有本地程序仅联系SSSD,由SSSD连接认证服务器或SSSD缓存,有效的降低了负载。

2.允许离线授权。SSSD可以缓存远程服务器的用户认证身份,这允许在远程认证服务器宕机是,继续成功授权用户访问必要的资源。

SSSD无需特殊设置即可运行,当你配置完system-configure-authentication后该服务会自己运行。

SSSD默认配置文件位于/etc/sssd/sssd.conf,你可以通过命令使得SSSD以指定的配置文件运行:
  
  sssd  --c  /etc/sssd/customfile.conf

1.2 SSSD 的配置格式

配置文件格式如下:

  关键字=键值
  #####################################################
  ##  [section]                    ##
  ##  key1 = value1                  ##
  ##  key2 = value2,value3              ##
  #####################################################


1.3 服务的启动格式

管理SSSD进程

service  sssd  start 开启
service  sssd  stop 关闭

使用authconfig命令开启SSSD: #authconfig  --enablesssd  --update

使用systemctl命令开启SSSD: # systemctl  enable  sssd

总结:简单来说现在在RHEL6中连接LDAP或Kerberos等认证服务器,都是先有SSSD连接认证服务器取得认证与授权信息,再交于本地客户端程序。


二:在CentOS7.x 安装配置SSSD 服务

2.1 安装 SSSD 服务

yum install sssd*

CentOS7.x 构建SSSD服务与openldap整合

CentOS7.x 构建SSSD服务与openldap整合


2.2 配置openldap 与 SSSD 服务的集成

2.1 关于openldap 客户端的验证

openldap 服务端已经配置完成,不会看flyfish 博文 https://blog.51cto.com/flyfish225/4562546 在此不做部署:

安装openldap-client 装包:
   
yum -y install openldap-clients sssd authconfig nss-pam-ldapd

CentOS7.x 构建SSSD服务与openldap整合

编辑配置文件:
    vim /etc/openldap/ldap.conf
    ---
    BASE    dc=flyfish,dc=com
    URI     ldap://192.168.100.14

    #SIZELIMIT      12
    #TIMELIMIT      15
    #DEREF          never

    TLS_CACERTDIR   /etc/openldap/certs

    # Turning this off breaks GSSAPI used with krb5 when rdns = false
    SASL_NOCANON    on

    ----

CentOS7.x 构建SSSD服务与openldap整合

openldap 客户端验证:
      ldapsearch -D "cn=admin,dc=flyfish,dc=com" -W |grep dn


CentOS7.x 构建SSSD服务与openldap整合

2.2 OpenLDAP集成SSH登录并使用sssd同步用户

vim /etc/sssd/sssd.conf
----
[domain/default]

autofs_provider = ldap
cache_credentials = True
ldap_search_base = dc=flyfish,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://192.168.100.14
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_schema = rfc2307bis
[sssd]
services = nss, pam, autofs

domains = default
[nss]
homedir_substring = /home

[pam]

[sudo]

[autofs]

[ssh]

[pac]

[ifp]

[secrets]

[session_recording]
----

chmod 600 /etc/sssd/sssd.conf
service sssd start 
chkconfig sssd on 

CentOS7.x 构建SSSD服务与openldap整合

CentOS7.x 构建SSSD服务与openldap整合

2.3 OpenLdap与SSH集成

2.3.1 启用SSH 的 PAM 认证

vim /etc/ssh/sshd_config
----
UsePAM yes
----

CentOS7.x 构建SSSD服务与openldap整合


修改配置文件
   vim /etc/pam.d/sshd
   ----
  增加这一行:
   session    required     pam_mkhomedir.so
  
   ----
  # 确保登录成功后创建用户的home目录
   

CentOS7.x 构建SSSD服务与openldap整合

修改配置文件
vim /etc/pam.d/password-auth
---
增加一行:
### 添加
auth        sufficient    pam_ldap.so use_first_pass

### 添加
password    sufficient    pam_ldap.so use_authtok

### 添加
session     optional      pam_ldap.so

---
增加pam_ldap.so 模块

CentOS7.x 构建SSSD服务与openldap整合

修改配置文件
vim /etc/pam.d/system-auth
-----
#auth        sufficient    pam_sss.so forward_pass
### 添加
auth        sufficient    pam_ldap.so use_first_pass
### 添加
#account     [default=bad success=ok user_unknown=ignore] pam_ldap.so

### 添加
password    sufficient    pam_ldap.so use_authtok

### 添加
#session     optional      pam_sss.so
session     optional      pam_ldap.so
------

CentOS7.x 构建SSSD服务与openldap整合

重启SSHD 服务
service sshd restart 
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 已经是第一篇 下一篇: 已经是最后一篇
  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论