OpenLDAP/SSSD 自动将用户添加到本地组

Ken*_*n J 5 openldap sssd

我有许多运行各种 Linux 版本的服务器,所有服务器都通过 SSSD 设置为 OpenLDAP 客户端。我添加了一个 LDAP 组(系统管理员)。我还在我的所有服务器上添加了一个 sysadmins 组。sysadmins 组的成员会随着时间的推移而变化。

如何让 LDAP 组中的所有用户在登录时添加到本地组?

dra*_*788 5

根据 ubuntu 文档,您可以将域用户映射到本地组,我不确定它是否适用于任何操作系统,但它似乎使用应该在任何 *nix 系统上的标准模块。

来自Ubuntu 文档

将本地组分配给用户

要将本地组分配给域 (ldap) 用户,请执行以下编辑 /etc/security/group.conf 并向其中添加类似以下内容(以本地用户身份登录并运行 groups 命令来验证要添加的内容):

*;*;*;Al0000-2400;audio,cdrom,dialout,floppy
Run Code Online (Sandbox Code Playgroud)

为了使pam_group模块正常工作,您可以创建一个如下文件/usr/share/pam-configs/my_groups

Name: activate /etc/security/group.conf
Default: yes

Priority: 900
Auth-Type: Primary 
Auth: required pam_group.so
Run Code Online (Sandbox Code Playgroud)

并通过运行激活它pam-auth-update

这大致相当于/etc/pam.d/common-auth手动编辑并在任何设置之前添加以下pam_ldappam_krb5

auth required pam_group.so

您现在应该为通过 gdm 和 ssh 登录的用户显示本地组,并且可以通过执行 id 或 groups 来验证这一点。

最终确定

为了确保一切正常,请运行以下命令:

pam-auth-update
/etc/init.d/nscd restart
Run Code Online (Sandbox Code Playgroud)


jhr*_*zek 2

目前有一种方法可以实现这一点——您可以在本地每台主机上添加用户,然后将 LDAP 中的成员添加到 /etc/groups 中。

第二种方式目前正在为 glibc 开发,不会早于 7.3 进入 RHEL,但您可以在这里阅读: https: //sourceware.org/glibc/wiki/Proposals/GroupMerging

这基本上允许您在本地和 LDAP 中定义组,并让 libc 合并组内容。