openldap为一个用户设置为多个组

时间:2021-06-21 21:52:29

使用ldap创建账号体系,除了要给每个员工、用户创建账号,还需要给他们分配一个组的角色,有了组,就能比较好的进行权限控制,比如ssh+ldap这样的组合,可以通过组来对组成员的sudo权限进行控制,但是有时候一个用户不是仅仅只是一个组的成员,有可能他既是开发,也是db管理员,既是产品经理,还是整个项目的管理员,这样就不太好给这样的用户单独配一个组。
可以针对每一种角色配置一个组,如开发组、测试组、db组、产品组,若某个用户需要有多个组的权限,可以将这个用户添加到对应的组当中去

配置步骤

创建组后,首先为这个组添加memberUid的属性
openldap为一个用户设置为多个组
选择用户然后加入,如图为这个gidNumber为501的组添加了多个用户
openldap为一个用户设置为多个组
openldap为一个用户设置为多个组
这里来试一下,这样添加是否让用户具有了多个组的权限,如图alert用户的主组是501
openldap为一个用户设置为多个组
我这里设置的501组的sudo权限是很小的,有很多命令是不能使用的,但是502组的sudo权限基本上就是root权限,我502组的memberUid加了alert这个用户
openldap为一个用户设置为多个组

我们来看一下,502组加alert用户之前和之后的对比
openldap为一个用户设置为多个组
如图,没加入502组之前执行sudo id,是没有执行权限的,加入了之后再执行,执行sudo id,已经将权限提升了为root了,并且显示它的组同时属于501和502,至此,我们可以理解为它拥有了501和502两个组的权限了。

如果需要使用ldif格式进行添加:
dn: cn=tstgroup,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: tstgroup
memberUid: alice
memberUid: bob
memberUid: marilena
memberUid: charlie
gidNumber: 501