Posixgroup用户组属性

  默认情况下openldap的用户组属性是Posixgroup,Posixgroup用户组属性和用户没有实际的对应关系。如果我们一定要把Posixgroup和user对应起来的话,就需要单独把用户设置到Posixgroup中。

添加用户组

[root@zabbix1 ~]# cat group.ldif
dn: cn=yunweizu,ou=Group,dc=test,dc=com
objectClass: posixGroup
objectClass: top
cn: yunweizu
gidNumber:
description: 运维组
[root@zabbix1 ~]# ldapadd -x -w "1234qwer" -D "cn=root,dc=test,dc=com" -f /root/group.ldif
adding new entry "cn=yunweizu,ou=Group,dc=test,dc=com"

现在虽然添加了组但是还没有关联起来需要在组里加一个值

  以上设置基本可以满足大部分业务场景的需要,但是如果我们需要根据用户组来过滤用户的话,Posixgroup用户组属性,是无法满足需要的。比如:nginx与openldap集成过滤用户组时、proftpd与openldap集成过滤用户组时、openvpn与openldap集成过滤用户组时、gitlab与openldap集成过滤用户组时,Posixgroup用户组属性是无法满足的。

  此时我们就需要使用groupOfUniqueNames用户组属性。

GroupOfUniqueNames用户组属性

  groupOfUniqueNames用户组属性,是可以根据用户组过滤用户,这个过滤是唯一的。

  要配置groupOfUniqueNames用户组属性,我们需要在openldap中添加相关的配置

[root@zabbix1 ~]# cat memberof_config.ldif
dn: cn=module,cn=config
: module
▽bjectClass: olcModuleList
olcModuleLoad: memberof
olcModulePath: /usr/lib64/openldap dn: olcOverlay={}memberof,olcDatabase={}hdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf [root@zabbix1 ~]# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif
adding new entry "cn=module,cn=config" adding new entry "olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config" [root@zabbix1 ~]# vim refint1.ldif
dn: cn=module{},cn=config
add: olcmoduleload
olcmoduleload: refint
"refint1.ldif" [New] 3L, 68C written
[root@zabbix1 ~]# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif
modifying entry "cn=module{0},cn=config" [root@zabbix1 ~]# vim refint2.ldif
dn: olcOverlay={}refint,olcDatabase={}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {}refint
olcRefintAttribute: memberof member manager owner
"refint2.ldif" [New] 7L, 225C written
[root@zabbix1 ~]# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif
ldapmodify: modify operation type is missing at line , entry "olcOverlay={1}refint,olcDatabase={2}hdb,cn=config"
[root@zabbix1 ~]# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif
adding new entry "olcOverlay={1}refint,olcDatabase={2}hdb,cn=config"

导入用户组

[root@zabbix1 ~]# vim group1.ldif
dn: cn=yunweizu,ou=Group,dc=test,dc=com
objectClass: groupOfUniqueNames
objectClass: top
cn: yunweizu
description: 运维组
uniqueMember: uid=test,ou=People,dc=test,dc=com
~
"group1.ldif" 6L, 173C written
[root@zabbix1 ~]# ldapadd -x -w "1234qwer" -D "cn=root,dc=test,dc=com" -f /root/group1.ldif
adding new entry "cn=yunweizu,ou=Group,dc=test,dc=com"

通过上图,我们可以很明显的看出groupOfUniqueNames用户组属性的成员属性为uniqueMember

如果此时把用户加入到该用户组后,我们是可以在用户组中直接看到该用户的。

也就说使用groupOfUniqueNames用户组属性的组,用户组与用户可以直接进行关联。

[root@zabbix1 ~]# ldapsearch -x -LLL -H ldap://127.0.0.1 -x -D cn=root,dc=test,dc=com -w "1234qwer"  -b uid=test,ou=People,dc=test,dc=com dn uniqueMember
dn: uid=test,ou=People,dc=test,dc=com

通过上图,我们可以很明显的看出groupOfUniqueNames用户组属性已经配置完毕。

这样第三方在调用openldap进行组过滤,就可以直接使用了。

参考网站

  https://www.ilanni.com/?p=14127

  https://www.ilanni.com/?p=13775

  https://www.cnblogs.com/lemon-le/p/6266921.html

  https://www.openldap.org/doc/admin24/

ldap 用户组和用户(4)的更多相关文章

  1. centos 创建用户组及用户

    用户及用户组存放文件 1./etc/passwd 其中每一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下: [cpp] view plaincopyprint?在CO ...

  2. centos7安装Jenkins更改默认端口并配置Ldap服务器进行用户认证

    应用环境:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作.   Jenkins官网:https://jenkins.io/ 测试环境:一台Centos ...

  3. Confluence 6 LDAP 用户组结构设置

    用户组对象类(Group Object Class) 这是在 LDAP 用户组对象中使用的类的名字.例如: groupOfUniqueNames group 用户组对象过滤器(Group Object ...

  4. 新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu系统)

    这个知识点,模糊了好久.!!! 生产中,习惯如下: useradd,默认会将自身新建用户,添加到同名的用户组中.如,useradd zhouls,执行此命令后,默认就添加到同名的zhouls用户组中. ...

  5. linux中用户组和用户

    linux中用户组和用户 1.介绍 在我们的linux系统,有很多用户组,也可以手动创建用户组,不同的用户组下面有很多的用户. 2.创建用户组及有关的命令 groupadd phpzu:创建一个php ...

  6. zabbix4.2学习笔记--新建用户组和用户

    新建用户组 zabbix中管理机器是以用户组划分,这里新建一个只读用户群组和只读用户 新建用户组 点击 管理-用户组-创建用户群组,如下图 点击创建之后,有三列设置,分别是用户群组.权限和标签过滤器, ...

  7. jira默认是jira_user用户组的用户有登录jira的权限

    场景描述: 今天给jira新建了几个用户组,看着英文的jira_user和jira_developer有点多余,所以就给删掉了.然后后面新建了开发人员和测试人员用户组,进行了人员分配和项目分配,可是突 ...

  8. Spring Boot教程(四十二)LDAP来管理用户信息(2)

    使用spring-data-ldap的基础用法,定义LDAP中属性与我们Java中定义实体的关系映射以及对应的Repository @Data @Entry(base = "ou=peopl ...

  9. linux创建www用户组和用户

    linux创建www用户组和用户 wdcp中的nginx服务启动需要依赖www用户,因此若没有此用户就可能会启动失败.创建这个用户的方法: [root@bogon local]# id www [ro ...

随机推荐

  1. 查看scn headroom变化趋势的几种方法

    查看scn headroom变化趋势的几种方法 scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术project师. 转载请注明出处http://blog ...

  2. OC基础回想(十一)类别

         在编写面向对象的程序时,常常要为现有的类加入一些新的行为,通常採用创建子类的方法. 只是有时候子类不方便.比方,想为NSString类加入一个新的行为,可是NSString实际上仅仅是一个类 ...

  3. Android View的onTouch和onClick和onLongClick事件

    这三个事件的调用顺序是: onTouch->onLongClick->onClick 先看这三个事件的处理函数: public boolean onTouch(View v, Motion ...

  4. tensorflow 模型压缩

    模型压缩 为了将tensorflow深度学习模型部署到移动/嵌入式设备上,我们应该致力于减少模型的内存占用,缩短推断时间,减少耗电.有几种方法可以实现这些要求,如量化.权重剪枝或将大模型提炼成小模型. ...

  5. 为什么倒排索引不采用zlib这样的字典压缩算法——因为没法直接使用啊

    看了下压缩算法的发展历史,根据倒排索引的数据结构特点,个人认为zstd不适合做倒排索引压缩,举例说明下: 假设有一份文档倒排列表为:[300, 302, 303, 332],对于这组倒排数据,是没法* ...

  6. bzoj 4481 [ Jsoi 2015 ] 非诚勿扰 —— 期望

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4481 太弱了这种题都要看半天TJ...:https://blog.csdn.net/chai ...

  7. Device /dev/sdb1 not found (or ignored by filtering)

    /etc/lvm/lvm.conf filters

  8. php 原生简版日志导出

    <?phpfunction writeLog($msg){ $logFile = date('Y-m-d').'.txt'; $msg = date('Y-m-d H:i:s').' >& ...

  9. 可持久化Treap(fhq Treap,非旋转式Treap)学习(未完待续)

    简介:     Treap,一种表现优异的BST 优势:     其较于AVL.红黑树实现简单,浅显易懂     较于Splay常数小,通常用于树套BST表现远远优于Splay     或许有人想说S ...

  10. lowbit( )运算

    --------开始-------- lowbit (n) 定义为非负整数n在二进制表示下“最低位的1及其后面所有的0构成的数值. 比如: n = 10 的二进制下为1010,则lowbit (n) ...