文章插图
1. 配置 SSSDSSSD是系统安全服务守护进程的缩写 。它提供对不同身份和身份验证提供者的访问 。
//安装 sssd
$ dnf update$ dnf install sssd sssd-tools
接下来,配置SSSD已允许通过OpenLDAP对本地系统进行身份验证 。SSSD通常不附带任何默认配置文件 。因此,需要手动创建和配置它 。
//创建 sssd 配置文件
$ vim /etc/sssd/sssd.conf[sssd]services = nss,pam,sudoconfig_file_version = 2domains = default[sudo][nss][pam]offline_credentials_expiration = 60[domain/default]ldap_id_use_start_tls = Truecache_credentials = Trueldap_search_base = dc=xiodi,dc=cnid_provider = ldapauth_provider = ldapchpass_provider = ldapaccess_provider = ldapsudo_provider = ldapldap_uri = ldap://openldap.xiodi.cnldap_default_bind_dn = cn=client search,ou=Admin,dc=xiodi,dc=cnldap_default_authtok = xiodi.cnldap_tls_reqcert = allowldap_tls_cacert = /etc/pki/tls/cacert.crtldap_tls_cacertdir = /etc/pki/tlsldap_search_timeout = 50ldap_network_timeout = 60ldap_sudo_search_base = ou=SUDOers,dc=xiodi,dc=cnldap_access_order = filterldap_access_filter = (objectClass=posixAccount)
sssd.conf 参考:https://linux.die.net/man/5/sssd-ldap【Centos8.2 使用 Openldap 认证登录】//下载证书
$ openssl s_client -connect openldap.xiodi.cn:636 -showcerts < /dev/null | openssl x509 -text...-----BEGIN CERTIFICATE-----MIIDuDCCAqCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBoMQswCQYDVQQGEwJDTjEOMAwGA1UECAwFSGVOYW4xEjAQBgNVBAcMCVpoZW5nWmhvdTERMA8GA1UECgwIeGlvZGkuY24xDDAKBgNVBAsMA2VkdTEUMBIGA1UEAwwLY2EueGlvZGkuY24wHhcNMTkwNDI3MDk1NzQyWhcNMjAwNDI2MDk1NzQyWjBaMQswCQYDVQQGEwJDTjEOMAwGA1UECAwFSGVOYW4xETAPBgNVBAoMCHhpb2RpLmNuMQwwCgYDVQQLDANlZHUxGjAYBgNVBAMMEW9wZW5sZGFwLnhpb2RpLmNuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RLRpDER0KG5zN7O/fROD3oMLb01BOCW+8LmlWz4oy5/KrP8XlrQIzzlL6Q2eHq2kX5eMalDnQvc2jkmebigYiBbZtASnoYcX1ITneFTPuih/c4CatzvyBUgP2orGHoJQoIxfZcCZdXalwb0GjuyoIv4CavneA9jA8NF4rgoDJM1jxbKolxnWMCcuis+2jfG0cBiv7dICpMDDexpF5Dj8tjDLPswXr3xfafwgORGxkVZMxL4KlHseVhVAcAB3yKVsttB1DmvDUY/MCY5JzRg4Y2rTMkz9OO6BqZg56W3ASeTM2hB1XpLVjm+VwRq7TNqRk+h5XKUiiD4v6x3B4igpQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUCa8Mlg/I6GH0CDONYnbvfYYTiIMwHwYDVR0jBBgwFoAUyJ9qxzO1nS+/4Vd0leVcssEnWAowDQYJKoZIhvcNAQELBQADggEBAKmaY3FZ7ixrZwgm537NU+2W6zYHl7X4D+rF/ASelne/o8p2Bhph3Vne0HvAvb4kmIwiNEjGYf7d0wKfgwFb4pxPv/5j71dCl92FIykTm76bU4/g/hPWuygXSMqGPJkWhAgfXwaE3SeBmblwMPNSVS2eOQFBlmqh+1u3B46tbtIwSu7Qui1f6kZSwOvOfOFiiUkFWo132zjP0tJ+VxitNtObqU/Ghp4nh3Ne15lfRuBinla/4KMWlyVdRCstqrePxTJgBNN/P/xjAGTUuPCiK9jpLPWfINbazksXtG6IO1TTOnaqhjHr0V8vxvZ6fuDDhgy7Gs/l1B7oChifqBWSkag=-----END CERTIFICATE-----
//保存CA证书$ vim /etc/pki/tls/cacert-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
//配置 ldap$ vim /etc/openldap/ldap.confBASEdc=xiodi,dc=cnURIldap://openldap.xiodi.cnldaps://openldap.xiodi.cn:636SUDOERS_BASE ou=SUDOers,dc=xiodi,dc=cnTLS_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之前,您需要检查配置是否有错误或权限;
推荐阅读
- 如何使用Word里的论文版式功能
- Windows下安装及使用NVM
- 单车|共享单车锁车难被央视点名:用户使用成本直线上升
- 高姿化妆品怎么样 高姿化妆品好吗
- 无需虚拟技术,6步直接在Windows下使用Linux
- 使用数据库和Redis开发各系统独立的自增ID生成器
- 镍氢充电电池原理及使用方法
- 如何避免过度设计,正确地使用设计模式?
- 使用微软的 ProcDump 调试 Linux 进程
- 那些前端开发需要掌握的:Vuex基础使用方法