SSSD是系统安全服务守护进程的缩写它提供对不同身份和身份验证提供者的访问,今天小编就来聊一聊关于centos7搭建openstack起什么作用?接下来我们就一起去研究一下吧!

centos7搭建openstack起什么作用(Centos8.2使用Openldap)

centos7搭建openstack起什么作用

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 参考:http://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 批量设置

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

网页源代码宏web page source codes macro