可以说LDIF文件是OpenLDAP操作数据或修改配置的一切来源,下面是实际通过客户端工具操作的具体示例。(openldap安装及配置过程见这里)。

1. 添加组织或条目

创建一个Marketing部门,添加一个dn记录:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# cat add_entry.ldif

dn: ou=Marketing, dc=example,dc=com

changetype: add

objectclass: top

objectclass: organizationalUnit

ou: Marketing

dn: cn=Pete Minsky,ou=Marketing,dc=example,dc=com

changetype: add

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

cn: Pete Minsky

sn: Pete

ou: Marketing

description: sb, sx

description: sx

uid: pminsky

1

2

3

4

5

# ldapmodify -xWD 'cn=admin,dc=example,dc=com' -f add_entry.ldif

或去掉changetype后

# ldapmodify -a -xWD 'cn=admin,dc=example,dc=com' -f add_entry.ldif

# ldapadd -xWD 'cn=admin,dc=example,dc=com' -f add.ldif

2. 修改组织或条目

添加mail属性,修改sn的值,删除一个description属性:

1

2

3

4

5

6

7

8

9

10

11

# cat modify_entry.ldif

dn: cn=Pete Minsky,ou=Marketing,dc=example,dc=com

changetype: modify

add: mail

mail: pminsky@example.com

-

replace: sn

sn: Minsky

-

delete: description

description: sx

1

2

# ldapmodify -xWD 'cn=admin,dc=example,dc=com' -f modify_entry.ldif

# ldapsearch -xD 'cn=admin,dc=mydomain,dc=net' -b 'ou=People,dc=mydomain,dc=net' -s sub 'objectclass=*' -w tplink -LLL

3. 重命名条目

1

2

3

4

dn: cn=Pete Minsky,ou=Marketing,dc=example,dc=com

changetype: modrdn

newrdn: cn=Susan Jacobs

deleteoldrdn: 1

modrdn只允许修改dn最左边的部分,且不能重命名带叶子或分支的子树,如果要将一个用户移动到另一个部门下,只能在新部门创建dn,然后删除旧的dn。

4. 删除组织或条目

LDAP协议只能删除无分支的叶子dn:

1

2

3

4

5

6

# cat delete_entry.ldif

dn: cn=Susan Jacobs,ou=Marketing,dc=example,dc=com

changetype: delete

# ldapdelete -xWD "cn=admin,dc=example,dc=com" -h localhost -p 389 "cn=Susan Jacobs,ou=Marketing,dc=example,dc=com"

5. LDIF配置backend

OpenLDAP的配置采用以cn=config为根的目录树的形式组织起来,采用config作为database,默认情况下包括admin或root用户都没有访问权限,需要赋予读写权限,然而赋予修改权限要求首先要提供认证信息,初始化安装后的cn=config是没有credentials

1

2

3

4

5

6

# ldapmodify -Y EXTERNAL -H ldapi:/// -f modify_config.ldif

SASL/EXTERNAL authentication started

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

SASL SSF: 0

modifying entry "olcDatabase={0}config,cn=config"

ldap_modify: Insufficient access (50)

所以这里不得不手动编辑olcDatabase={0}config.ldif文件,获得最初认证权限(虽然官方不推荐手动修改配置):

1

2

# vi /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif

olcRootPW: {SSHA}your_slappasswd_secret

重启slapd后(不是说不用重启吗)便可以修改config:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# ldapwhoami -x -D cn=config -W

修改示例:

# ldapmodify -xWD 'cn=config'

Enter LDAP Password:

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

changetype: modify

replace: olcRootDN

olcRootDN: cn=config

-

replace: olcRootPW

olcRootPW: {SSHA}your_slappasswd_secret

modifying entry "olcDatabase={0}config,cn=config"

在/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif中olcRootDN变成base64加密后的值(两个”:”)。

最后,如果要在slapd服务未启动的情况下修改配置可以通过以下命令转换成ldif中间文件:

1

2

3

# slapcat -n0 -F /etc/ldap/slapd.d/ > /tmp/config-in-portable-format.ldif

编辑ldif文件后,重新shengc slapd.d目录

# slapadd -n0 -F /tmp/slapd.d -l /tmp/config-in-portable-format.ldif

使用这类命令行工具有助于对 LDAP concept 理解,如果要达到快速配置的效果,可以使用 ldapbrowser 或 Apache Directory Studio 图形化工具,特别是 Apache Directory Studio 不仅提供了 LDAP Browser/Editor 的功能,还能编辑LDIF文件和自定义schema,智能提示非常友好。

Axigen+OpenLDAP+BerkeleyDB+ejabberd多域+JWchat详细配置 http://www.linuxidc.com/Linux/2012-06/61598.htm

OpenLDAP 的详细介绍:请点这里

OpenLDAP 的下载地址:请点这里

DN服务器修改配置文件,LDIF修改LDAP记录或配置示例相关推荐

  1. hadoop集群搭建 修改配置文件(三台主机都要配置)

    hadoop集群搭建      修改配置文件(三台主机都要配置) master 主机配置 1)hadoop-env.sh vim hadoop-env.sh 2)core-site.xml vim c ...

  2. 2003服务器导出配置文件,Windows Server 导出/导出IIS配置方法

    Windows 2003 导出/导出IIS配置操作步骤 1.首先登陆服务器,打开internet信息服务(IIS)管理器,在[IIS信息服务管理器]-[本地计算机],右键选择所有任务-备份/还原配置. ...

  3. QC11服务器IP地址变更修改数据库配置文件

    公司IP地址大变更,导致原来的QC11无法访问,修改配置文件和数据库,就可以使用新IP访问了QC了! 1.修改配置文件,修改WEB-INF下的siteadmin.xml文件,这里需要特别注意,不是在安 ...

  4. 怎么修改远程服务器的地址,怎么修改远程服务器的地址

    怎么修改远程服务器的地址 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JDK ...

  5. linux配置网卡、修改主机名和映射文件(手把手配置)

    1.配置网络 1.1 配置vware虚拟机网络 在vmware虚拟机的工具栏中,选择编辑菜单–>虚拟网络编辑器 在虚拟网络编辑器中选择选择vmnet8–>子网使用192.168.10.0的 ...

  6. vue项目打包后生成一个配置文件可以修改打包后的服务器api地址

    vue项目打包后生成一个配置文件可以修改打包后的服务器api地址 问题描述:vue项目打包上线之后,如果要改服务器api地址,只能在源码更改然后重新打包发布,为了解决这个问题,我们可以在static增 ...

  7. Xshell的使用;用Xshell修改服务器 Nginx配置文件-超详细(以修改上传文件大小上限为例)

    好多服务器都用Nginx做代理,当客户端上传视频,压缩包等文件时,往往会有一个设置上传文件最大限制的设置,我们以更改上传文件最大限制为例,从登录开始进行配置文件的修改. 适合哪些入职不久的前端吧~~~ ...

  8. 远程修改服务器数据库配置,远程修改服务器数据库配置文件

    远程修改服务器数据库配置文件 内容精选 换一换 使用Benchmark工具测试MySQL并发100个进程的性能数据.cd /home/ BenchMarkSQL/run 执行以下步骤刷新数据库连接:状 ...

  9. ps4修改服务器地区,ps4怎么修改服务器地址

    ps4怎么修改服务器地址 内容精选 换一换 在云服务器上搭建网站后,部分客户通过本地网络访问网站时出现偶发性无法访问的情况.确认客户使用的本地网络.若客户的本地网络是NAT网络(本地主机通过NAT功能 ...

最新文章

  1. HarmonyOS 界面跳转以及界面跳转的同时传递参数
  2. The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf
  3. Meet Fabric8:基于Camel和ActiveMQ的开源集成平台
  4. 学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式
  5. C++中的const完全解析
  6. 全国计算机等级考试(NCRE)三级网络技术、四级网络工程师题库软件分享
  7. 高级操作系统——XV6内存管理
  8. SM3算法对大文件做摘要
  9. HBuilder开发APP(二)——网络请求
  10. java基础入门(完整详细版)
  11. c语言中各种符号的意思。
  12. 股权转让要交哪些税?增值税、企业所得税、个人所得税
  13. 国潮风格设计,具象化插画作品|打开你的头脑风暴
  14. 世界需要简化第四篇:从地面发射人造卫星或战术导弹,如何控制其运行轨道?——算法经高度抽象简化,所有下标经仔细核对
  15. springCloud Api网关搭建
  16. python编程练习--跑马灯
  17. linux if 判断
  18. 20130723 上海OOW第二日
  19. yarn install报错及解决办法
  20. div显示在上层_怎样设置一个DIV在所有层的最上层,最上层DIV

热门文章

  1. java吃豆人代码讲解_在吃豆人的这一关里,隐藏着来自程序员的深深恶意
  2. txtv28pw河南某中学_中学生骑行典型交通事故案例集 | 知危险会避险
  3. 符合要求的安全电路用计算机屏蔽电缆,全国计算机三级信息安全技术习题及答案...
  4. php安装sqlserver2008,php53 mssql2008_sqlserver2008安装环境_php mssql库
  5. Recyclerview单选和多选
  6. Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
  7. java json html模板,基于jQuery的AJAX和JSON实现纯html数据模板(转载)
  8. Java队列Queue
  9. sql-libs(6) 双引号的报错注入
  10. SpringCloud分布式开发五大神兽