Ldap 小结

一. server 端安装

yum -y install openldap-serversopenldap-clients nss-pam-ldapd

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

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

systemctl start slapd

systemctl enable slapd

(需修改密码) slappasswd -s ldap@#123                    // 每次生成的密码串不一样

 或者  slappasswd -h {md5} -s "ldap@#123"        // 生成md5 密码 ,ldap@#123 加密成固定密码串

{MD5}0YrHskgC54n3QqNNf7uBxg== 

ldapadd -Y EXTERNAL -H ldapi:///  -f  /home/ocdc/diff/set_rootpw.ldif   // ldif 文件换成对应的密码

cat set_rootpw.ldif

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

changetype: modify

add: olcRootPW

olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==


ldapadd -Y EXTERNAL -H ldapi:///  -f  /etc/openldap/schema/cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:///  -f  /etc/openldap/schema/nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f  /etc/openldap/schema/inetorgperson.ldif


SET domain onladp db  (管理员密码)

set_domain.ldif文件中密码,跟上面密码一致

ldapmodify -Y EXTERNAL -H ldapi:/// -f /home/ocdc/diff/set_domain.ldif

cat set_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=admin,dc=asiainfo,dc=com" read by * none

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

changetype: modify

replace: olcSuffix

olcSuffix: dc=asiainfo,dc=com

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

changetype: modify

replace: olcRootDN

olcRootDN: cn=asiainfo,dc=hadoop,dc=com

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

changetype: modify

add: olcRootPW

olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==

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

changetype: modify

add: olcAccess

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

  dn="cn=admin,dc=asiainfo,dc=com" write by anonymous auth by self write by * none

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

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


ldapadd -x -D cn=admin,dc=asiainfo,dc=com -w ldap@#123 -f /home/ocdc/diff/create_basedomain.ldif

cat create_basedomain.ldif

dn: dc=asiainfo,dc=com

objectClass: top

objectClass: dcObject

objectclass: organization

o: Server com

dc: asiainfo

dn: cn=admin,dc=asiainfo,dc=com

objectClass: organizationalRole

cn: admin

description: Directory admin

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

objectClass: organizationalUnit

ou: People

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

objectClass: organizationalUnit

ou: Group


测试能否连接到ldap server:

ldapsearch -x  -b  'ou=People,dc=asiainfo,dc=com'

ldapsearch -LLL -W -x  -D "cn=admin,dc=asiainfo,dc=com"  -b  "dc=asiainfo,dc=com"

主从复制,主节点上执行如下命令:

ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ocdc/diff/sync_provider_addMode.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ocdc/diff/sync_provider.ldif

cat sync_provider_addMode.ldif

# create new

dn: cn=module,cn=config

objectClass: olcModuleList

cn: module

olcModulePath: /usr/lib64/openldap

olcModuleLoad: syncprov.la


cat sync_provider.ldif

# create new

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

objectClass: olcOverlayConfig

objectClass: olcSyncProvConfig

olcOverlay: syncprov

olcSpSessionLog: 100

从节点上执行如下命令:

 ldapadd -Y EXTERNAL -H ldapi:/// -f/home/ocdc/diff/sync_consumer.ldif

cat sync_consumer.ldif

# create new

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

changetype: modify

add: olcSyncRepl

olcSyncRepl: rid=001

  # LDAP server's URI

  provider=ldap://oc-etl-data-new-060:389/

  bindmethod=simple

  # own domain name

  binddn="cn=admin,dc=asiainfo,dc=com"

  # directory manager's password

  credentials=ldap@#123

  searchbase="dc=asiainfo,dc=com"

  # includes subtree

  scope=sub

  schemachecking=on

  type=refreshAndPersist

  # [retry interval] [retry times] [interval of re-retry] [re-retry times]

  retry="30 5 300 3"

  # replication interval

  interval=00:00:05:00


ldap client  安装

yum -y install openldap-clients nss-pam-ldapd

authconfig--enableldap --enableldapauth --ldapserver=xxxx-NN-01:389,xxxx-NN-02:389--ldapbasedn="dc=asiainfo,dc=com" --enablemkhomedir --update


二 。常用维护命令

1) Ldap 中添加一个用户:

      ldapadd -x-D cn=admin,dc=asiainfo,dc=com -W -f ldapuser.ldif

2) 查询ldap 中的用户:

ldapsearch -x -b 'ou=People,dc=asiainfo,dc=com'        // 不要管理员口令

ldapsearch -LLL -W -x -D "cn=admin,dc=asiainfo,dc=com" -b"dc=asiainfo,dc=com"   

// 需要ldap 管理员口令才能查询, 也可以换成 w (小写)参数,后面指定管理员口令

ldapsearch -LLL -W -x  -D "cn=admin,dc=asiainfo,dc=com" -b"dc=asiainfo,dc=com" -H "ldap://127.0.0.1"

//  -H 参数指定 要查询的Ldap 服务器地址

3)删除ldap 中的一个用户 及 用户组:

ldapdelete -x -W -D 'cn=admin,dc=asiainfo,dc=com'"uid=redhat,ou=People,dc=asiainfo,dc=com"

ldapdelete -x -W -D 'cn=admin,dc=asiainfo,dc=com'"cn=redhat,ou=Group,dc=asiainfo,dc=com"


4)更改ldap 中某一个用户的口令:

ldappasswd -x -D "cn=manager,dc=asiainfo,dc=com" -w ldap123 "uid=asiainfo,ou=People,dc=asiainfo,dc=com" -s  xxxx

说明: xxxx 为某个用户的新口令, -w(小写) 参数后面指定的是ldap 管理员密码


5) 更改 ldap 管理员的口令:

先查询 ldap 服务中的cn , dc 相关信息

ldapsearch -H ldapi:// -LLL -Q -Y EXTERNAL -b “cn=config” “(olcRootDN=*)” dn olcRootDN olcRootPW        

slappasswd -s  xxxxxx                        // 生成新密码的 加密串

替换 newpasswd.ldif  当中的加密串 ,  newpasswd.ldif 文件的内容如下

cat newpasswd.ldif                  

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

changetype: modify

replace: olcRootPW

olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==

执行更改操作

ldapmodify -H ldapi:// -Y EXTERNAL  -f /root/newpasswd.ldif


6)ldap 数据备份,迁移

ldapsearch -LLL -w 'ldap@#123'  -x -D "cn=root,dc=asiainfo,dc=com" -b "dc=asiainfo,dc=com" >/root/ldapbak.ldif

修改ldapbak.ldif 数据,删除top 组织,scp 到新ldap 服务器中

导入到新ldap 数据库中

ldapadd -x -D "cn=root,dc=asiainfo,dc=com" -w ldap@#123 -f /home/ocdc/diff/ldapbak1115.ldif





cat ldapuser.ldif

# create new

# replace to your own domain name for "dc=***,dc=***" section

dn: uid=red,ou=People,dc=asiainfo,dc=com

objectClass: inetOrgPerson

objectClass: posixAccount

objectClass: shadowAccount

cn: Red

sn: TEST

userPassword: {SSHA}y6mu044L1WYtDrEGFsqv7UmCWazCIqzx

loginShell: /bin/bash

uidNumber: 1602

gidNumber: 1602

homeDirectory: /ldapuser/red

dn: cn=red,ou=Group,dc=asiainfo,dc=com

objectClass: posixGroup

cn: Red

gidNumber: 1602

memberUid: red

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

推荐阅读更多精彩内容