OPENSHIFT对接OPENLDAP

Centos7安装OpenLDAP

* 环境

系统版本:centos7.4

openldap版本2.4

安装和配置

安装并启动服务

* 安装:


```

yum install openldap openldap-servers openldap-clients

```


拷贝数据库配置文件


```

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown ldap:ldap /var/lib/ldap/DB_CONFIG

```


 DB_CONIFG中主要是关于Berkeley DB的相关的一些配置

 启动OpenLDAP Server:


```

systemctl start slapd

systemctl enable slapd

systemctl status slapd

```


slapd即standard alone ldap daemon,该进程默认监听389端口

设置root用户密码

先用一个命令生成一个LDAP管理用户root密码:


```

slappasswd

New password:

Re-enter new password:

{SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo  #记住这个,下面会用到

```


新建一个rootpwd.ldif(名称是自定义的)的文件:


```

vi rootpwd.ldif

dn: olcDatabase={0}config,cn=config

changetype: modify

add: olcRootPW

olcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo

```


ldif即LDAP Data Interchange Format,是LDAP中数据交换的一种文件格式。文件内容采用的是key-value形式,注意value后面不能有空格。

上面内容中dn即distingush name

olc即Online Configuration,表示写入LDAP后不需要重启即可生效

changetype: modify表示修改一个entry,changetype的值可以是add,delete, modify等。

add: olcRootPW表示对这个entry新增了一个olcRootPW的属性

olcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo指定了属性值

下面使用ldapadd命令将上面的rootpwd.ldif文件写入LDAP:


```

ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldifSASL/EXTERNAL authentication started

SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

SASL SSF: 0modifying entry "olcDatabase={0}config,cn=config"

```


导入schema

导入schema,schema包含为了支持特殊场景相关的属性,可根据选择导入,这里先全部导入:


```

ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

```



设定默认域

先使用slappasswd生成一个密码:


```

slappasswd

New password:

Re-enter new password:

{SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3

```


新建一个domain.ldif的文件:


```

vi domain.ldif

dn: olcDatabase={1}monitor,cn=config

changetype: modify

replace: olcAccess

olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"  read by dn.base="cn=Manager,dc=zhidaoauto,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config

changetype: modify

replace: olcSuffix

olcSuffix: dc=zhidaoauto,dc=com

dn: olcDatabase={2}hdb,cn=config

changetype: modify

replace: olcRootDN

olcRootDN: cn=Manager,dc=zhidaoauto,dc=com

dn: olcDatabase={2}hdb,cn=config

changetype: modify

add: olcRootPW

olcRootPW: {SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3 #替换上面生成的密码

dn: olcDatabase={2}hdb,cn=config

changetype: modify

add: olcAccess

olcAccess: {0}to attrs=userPassword,shadowLastChange by

  dn="cn=Manager,dc=zhidaoauto,dc=com" write by anonymous auth by self write by * none

olcAccess: {1}to dn.base="" by * read

olcAccess: {2}to * by dn="cn=Manager,dc=zhidaoauto,dc=com" write by * read

need-to-insert-img

```


olcAccess即access,该key用于指定目录的ACL即谁有什么权限可以存取什么

olcRootDN设定管理员root用户的distingush name

注意替换上面文件内容中cn为具体的域信息

olcRootPW用上面新生成的密码替换

写入:


```

need-to-insert-img

ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldifSASL/EXTERNAL authentication started

SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

SASL SSF: 0modifying entry "olcDatabase={1}monitor,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"

need-to-insert-img

```


添加基本目录

新建一个basedomain.ldif的文件:


```

need-to-insert-img

dn: dc=zhidaoauto,dc=com

objectClass: top

objectClass: dcObject

objectclass: organization

o: zhidaoauto com

dc: zhidaoauto

dn: cn=Manager,dc=zhidaoauto,dc=com

objectClass: organizationalRole

cn: Manager

description: Directory Manager

dn: ou=People,dc=zhidaoauto,dc=com

objectClass: organizationalUnit

ou: People

dn: ou=Group,dc=zhidaoauto,dc=com

objectClass: organizationalUnit

ou: Group

need-to-insert-img

```


注意替换上面文件内容中dn为具体的域信息

理解dn,cn,dc

DC即Domain Component,LDAP目录类似文件系统目录dc=zhidaoauto,dc=com相当于/com/zhidaoauto

CN即Common Name,CN有可能代表一个用户名,例如cn=Manager,dc=zhidaoauto,dc=com表示在/com/zhidaoauto域下的管理员用户Manager

OU即Organizational Unit,例如ou=People,dc=zhidaoauto,dc=com表示在/com/zhidaoauto域下的一个组织单元People

 写入:


```

need-to-insert-img

ldapadd -x -D cn=Manager,dc=zhidaoauto,dc=com -W -f basedomain.ldif

Enter LDAP Password:

adding new entry "dc=zhidaoauto,dc=com"adding new entry "cn=Manager,dc=zhidaoauto,dc=com"adding new entry "ou=People,dc=zhidaoauto,dc=com"adding new entry "ou=Group,dc=zhidaoauto,dc=com"

need-to-insert-img

```


测试:


```

need-to-insert-img

ldapsearch -LLL -W -x -D "cn=Manager,dc=zhidaoauto,dc=com" -H ldap://localhost -b "dc=zhidaoauto,dc=com"Enter LDAP Password:

dn: dc=zhidaoauto,dc=com

objectClass: top

objectClass: dcObject

objectClass: organization

o: zhidaoauto com

dc: zhidaoauto

dn: cn=Manager,dc=zhidaoauto,dc=com

objectClass: organizationalRole

cn: Manager

description: Directory Manager

dn: ou=People,dc=zhidaoauto,dc=com

objectClass: organizationalUnit

ou: People

dn: ou=Group,dc=zhidaoauto,dc=com

objectClass: organizationalUnit

ou: Group

need-to-insert-img

```


管理工具

可以在局域网内的windows电脑上下载ldapadmin作为管理工具

need-to-insert-img

知识点:

need-to-insert-img

登录账号为:

登录ldap的用户dn为:cn=Manager,dc=zhidaoauto,dc=com

ou=Group和ou=People的区别:

从ou=Group里创建的是组,从ou=People创建的是用户

ou=People里的用户怎么加入到ou=Group下边的组呢:

右键"yunwei"组-->properties

need-to-insert-img


need-to-insert-img


need-to-insert-img

这样就把ou=People里"zhaijunming"用户添加到ou=Group里的"yunwei"组了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容