《Linux/UNIX OpenLDAP实战指南》——1.6 LDIF详解

简介: LDIF(LDAP Data Interchanged Format)的轻量级目录访问协议数据交换格式的简称,是存储LDAP配置信息及目录内容的标准文本文件格式,之所以使用文本文件来存储这些信息是为了方便读取和修改,这也是其他大多数服务配置文件所采取的格式。

本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第1章,第1.6节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.6 LDIF详解

1.6.1 LDIF用途
LDIF(LDAP Data Interchanged Format)的轻量级目录访问协议数据交换格式的简称,是存储LDAP配置信息及目录内容的标准文本文件格式,之所以使用文本文件来存储这些信息是为了方便读取和修改,这也是其他大多数服务配置文件所采取的格式。通常用来交换数据并在OpenLDAP服务器之间互相交换数据,并且可以通过LDIF实现数据文件的导入、导出以及数据文件的添加、修改、重命名等操作,这些信息需要按照LDAP中schema的规范进行操作,并会接受schema的检查,如果不符合OpenLDAP schema规范要求,则会提示相关语法错误。

1.6.2 LDIF文件特点
LDIF文件每行的结尾不允许有空格或者制表符。
LDIF文件允许相关属性可以重复赋值并使用。
LDIF文件以.ldif结尾命名。
LDIF文件中以#号开头的一行为注释,可以作为解释使用。
LDIF文件所有的赋值方式为:属性:[空格]属性值。
LDIF文件通过空行来定义一个条目,空格前为一个条目,空格后为另一个条目的开始。
注:
如果读者要手动定义LDIF文件添加修改条目,需要了解以上相关特点;否则,会提示各种各样的语法错误。而且OpenLDAP服务器中定义LDIF文件,每个条目必须包含一个objectclass属性,并且需要定义值,objectclass属性有顶级之分,在定义objectclass之前需要了解objectclass的相关依赖性,否则在添加或者修改时也会提示相关语法错误。
1.6.3 LDIF格式语法
LDIF文件存取OpenLDAP条目标准格式:

# 注释,用于对条目进行解释
dn:条目名称
objectClass(对象类): 属性值
objectClass(对象类): 属性值
……

LDIF格式样例如下:

dn: uid=Guodayong,ou=people,dc=gdy,dc=com    //DN描述项,在整个目录树上为唯一的
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
objectClass: hostObject
sn: Guo
cn: Guodayong
telephoneNumber:xxxxxxxxxxx
mail: dayong_guo@126.com

注:
冒号后面有一个空格,然后才是属性的值,schema规范定义要求很严格。(这点请读者切记!)

相关文章
|
2月前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
27 0
|
4月前
|
Unix Shell Linux
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
26 2
|
4月前
|
Unix Shell Linux
在Linux和类Unix系统中,Shell提供了多种命令用于用户和权限管理
在Linux和类Unix系统中,Shell提供了多种命令用于用户和权限管理
36 4
|
2月前
|
Oracle Ubuntu Unix
Unix与Linux区别
Unix: Unix是一个操作系统家族的名称,最早由贝尔实验室(Bell Labs)的肖像电机公司(AT&T)开发。最早的Unix版本是在1969年创建的。 Linux: Linux是由芬兰计算机科学家Linus Torvalds在1991年创建的。它是作为一个免费、开放源代码的Unix克隆而开始的。
19 1
|
3月前
|
Unix Shell Linux
在Unix/Linux Shell中,管道(`|`)和重定向
在Unix/Linux Shell中,管道(`|`)和重定向
23 1
|
4月前
|
Ubuntu Unix Linux
Unix/Linux操作系统的最强入门科普(经典)
Unix/Linux操作系统的最强入门科普(经典)
88 0
|
4月前
|
网络协议 Unix Linux
在Unix/Linux shell中,与网络相关的命令
在Unix/Linux shell中,与网络相关的命令
24 2
|
4月前
|
监控 Unix Linux
在Linux和类Unix操作系统中,`top` 命令
在Linux和类Unix操作系统中,`top` 命令
30 2
|
5月前
|
缓存 网络协议 Unix
Linux(UNIX)五种网络I/O模型与IO多路复用
Linux(UNIX)五种网络I/O模型与IO多路复用
112 0
|
10月前
|
Unix Linux C语言
计算机操作系统实验一 Unix/Linux编程开发环境
计算机操作系统实验一 Unix/Linux编程开发环境
96 0