linux服务之openldap
2015-04-18 10:17
288 查看
http://www.openldap.org/
http://blog.csdn.net/chinalinuxzend/article/details/1870656 href="http://blog.csdn.net/chinalinuxzend/article/details/1870656" target=_blank>OpenLDAP学习笔记
http://www.ttlsa.com/linux/openldap-openssh-lpk-sudo-tls-auth/ LINUX下基于LDAP集中系统用户认证系统 http://directory.apache.org/api/ apache dierctory
http://blog.csdn.net/zmxj/article/details/369456 ldap目录树的结构
在安装配置任何一个服务器时,尽量养成一个好习惯,就是在命令行下使用bash内置的目录栈命令,因为要固定的用那么几个命令,目录栈此时正好用上。
svn,httpd,openldap服务器配置目录与数据目录比较
yum install openldap-servers
yum install openldap-clients
/usr/sbin/slapacl
/usr/sbin/slapadd
/usr/sbin/slapauth
/usr/sbin/slapcat
/usr/sbin/slapd
/usr/sbin/slapdn
/usr/sbin/slapindex
/usr/sbin/slappasswd
/usr/sbin/slapschema
/usr/sbin/slaptest
LDAP:Lightweight Directory Access Protocol 轻量级目录访问协议
LDAP协议基于X.500标准, 与X.500不同,LDAP支持TCP/IP, 是跨平台的和标准的协议
LDAP标准实际上是在X.500标准基础上产生的一个简化版本
AD是Active Directory的缩写,AD应该是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据来解决域控这个具体问题,
只是AD顺便还提供了用户接口,也可以利用Active Directory当做LDAP服务器存放一些自己的东西而已。比如LDAP是关系型数据库,微软自己在库中建立了几个表,每个表都定义好了字段。显然这些表和字段都是根据微软自己的需求定制的,而不是LDAP协议的规定。然后微软将LDAP做了一些封装接口,用户可以利用这些接口写程序操作LDAP,使得Active Directory也成了一个LDAP服务器。
总之:Active Directory = LDAP服务器+LDAP应用(Windows域控)。Active Directory先实现一个LDAP服务器,然后自己先用这个LDAP服务器实现了自己的一个具体应用(域控)
7.1.2
目录服务标准:X.500和LDAP
目录服务的两个国际标准是X.500和LDAP。X.500包括了从X.501到X.509等一系列目录数据服务,已经被作为提供全球范围的目录服务的一种国际标准。
而LDAP是基于TCP/IP协议的目录访问协议,是Internet上目录服务的通用访问协议。
X.500是国际电联定义的目录标准,它包括了一系列完整的目录数据服务。用于X.500客户机与服务器通信的协议是DAP(Directory Access Protocol)。X.500为网络用户提供分布式目录服务。
它定义一个机构如何在一个企业的全局范围内共享名字和与它们相关的对象。X.500规定总体命名方式,全球统一的名字空间,一个完整的X.500系统称为一个目录。这个目录是一个数据库,称为目录信息数据库(DIB)。X.500是层次性的,所有对象被组织成树形结构,模仿一个机构的组织形式。X.500目录服务还能够实现身份认证、访问控制。它被公认为是实现一个目录服务的最好途径,但是它的实现需要很大投资,效率不高,在实际应用中存在着不少障碍。DAP对相关层协议环境要求过多,在许多小系统上无法使用,也不适应TCP/IP协议体系。
鉴于此,出现了DAP的简化版LDAP。
LDAP(Lightweight Directory Access Protocol)的目的很明确,就是要简化X.500目录的复杂度以降低开发成本,同时适应Internet的需要。LDAP已经成为目录服务的标准,它比X.500 DAP协议更为简单实用,而且可以根据需要定制,因而实际应用也更为广泛。与X.500不同,LDAP支持TCP/IP协议,这对访问Internet是必需的。X.500采用公钥基础结构(PKI)作为主要的认证方式,而LDAP最初并不考虑安全问题,目前已增加安全机制。为保证数据访问安全,可使用LDAP的ACL(访问控制列表)来控制对数据读和写的权限。
LDAP目前有两个版本:第2版LDAP v2和第3版LDAP v3。基于LDAP v3的服务器可以让普通用户使用支持LDAP功能的Web浏览器,进行有关电子邮件用户的查询,可以查询的用户属性包括姓名、电话号码、电子邮件地址和地址信息等;系统管理员可以通过LDAP客户程序远程进行目录管理操作,如添加、删除和修改用户账户信息等;可以请求服务器执行扩展操作。
内部细节并不重要,因为这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前。
LDAP 信息被组织成属性和值的组合,称为 条目(entry)。条目可能会具有必须的属性或可选属性。一个条目的属性必须要遵循 /etc/openldap/schema/ 模式文件中定义的规则。规则包含在条目的 objectclass 属性中。看一下下面的关系,我们可以看出 posixAccount objectclass 中包含了密码文件条目的信息(posixAccount userPassword 是文件条目的 base64 编码)。
在LDAP中信息以树状方式组织,在树状信息中的基本数据单元是条目,而每个条目由属性构成,属性中存储有属性值
(1)O:Organization 组织
根的表示方法(参考LDAP Server)
a. 组织名称(x.500)
假设组织名称为zhangyang
o=zhangyang
b. 域名
假设组织域名为zhangyang.com
o=zhangyang.com或dc=zhangyang, dc=com
(2)OU: Organization Unit 组织单元
(3)Entry: 条目,记录, 由DN唯一标识
(4)DN: Distinguished Name,每个叶子结点到根的路径就是DN
如: cn=test, ou=ou1, o=zhangyang.com
(5)RDN: Relative Distinguished Name,叶子结点本身的名字是RDN
如:test就是RDN
(6)Base DN: 基准DN,指定LDAP search的起始DN,即从哪个DN下开始搜索
搜索组织单元为ou1,则base DN为 ou=ou1,o=O
ou=ou1,o=zhangyang.com 或 ou=ou1,dc=zhangyang, dc=com
(7)AttributeType:属性类型,
(8)ObjectClass: 对象类,由多个attributetype(属性类型)组成, 每个条目(Entry)必须属于某个或多个对象类(Object Class)
(9)schema文件: 定义对象类、属性类型、语法和匹配规则, 有系统schema,用户也可自定义schema文件
(10) LDIF:LDAP Interchange Format, 是指存储LDAP配置信息及目录内容的标准文本文件格式。LDIF文件常用来向目录导入或更改记录信息,
基本格式:AttributeName: value
属性名 冒号 空格 属性值
如
dn: dc=zy,dc=net
objectclass: dcObject
objectclass: organization
dc: zy
o: zhangyang
(11)监听端口
TCP/IP port: 389
SSL port: 636
三、Search filter:
每个表达式都放在括号内,多个表达式用与(&),或(|),非(!)等连结
& (&(filter1)(filter2)...(filtern)) filter1,filter2,...,filtern同时满足
| (|(filter1)(filter2)...(filtern)) filter1,filter2,...,filtern至少有一个满足
! (!(filter)) 非filter
filter支持通配符(wildcard)*
*表示零或多个字符
如(objectclass=*),指列出所有类型的记录(不过分类)
四、LDAP客户端和LDAP服务器端交互过程
1. 绑定。LDAP客户端与LDAP服务器建立连接。可匿名绑定,也可以用户名+密码形式绑定(具体参考LDAP Server, AD不支持匿名查询)。
2. LDAP客户端向LDAP服务器发出查询、添加、修改、删除entry等操作。
3. 解除绑定。LDAP客户端与LDAP服务器断开连接。
五、 LDAP软件
常见的LDAP服务器:Microsoft Active Directory, IBM Domino, openldap
常见的LDAP客户端: JXplorer
DNS树
UNIX文件的目录树
ldap的DIT
超级用户与密码由slapd.conf下面指定
rootdn "cn=Manager,dc=fgy,dc=com"
rootpw secret
添加项(entry)的过程是:不管是slapd.conf,还是slapd-config方式,
slapd.conf方式
slapd-config方式
http://blog.csdn.net/chinalinuxzend/article/details/1870656 href="http://blog.csdn.net/chinalinuxzend/article/details/1870656" target=_blank>OpenLDAP学习笔记
http://www.ttlsa.com/linux/openldap-openssh-lpk-sudo-tls-auth/ LINUX下基于LDAP集中系统用户认证系统 http://directory.apache.org/api/ apache dierctory
http://blog.csdn.net/zmxj/article/details/369456 ldap目录树的结构
在安装配置任何一个服务器时,尽量养成一个好习惯,就是在命令行下使用bash内置的目录栈命令,因为要固定的用那么几个命令,目录栈此时正好用上。
svn,httpd,openldap服务器配置目录与数据目录比较
[root@host02 ~]# cd /mnt/sharerepo/ [root@host02 sharerepo]# ls aa.log client conf server terminal wuliu [root@host02 server]# ls conf db format hooks locks README.txt [root@host02 db]# ll total 672 -rw-rw-rw-+ 1 96 96 2 Nov 11 01:39 current -r--r--r--+ 1 96 96 22 Oct 28 13:53 format -rw-rw-rw-+ 1 96 96 1920 Oct 28 13:53 fsfs.conf -rw-rw-rw-+ 1 96 96 5 Oct 28 13:53 fs-type -rw-rw-rw-+ 1 96 96 2 Oct 28 13:53 min-unpacked-rev -rw-r--r--+ 1 96 96 636928 Nov 11 01:39 rep-cache.db drwxrwsrwx+ 3 96 96 4096 Oct 28 13:53 revprops drwxrwsrwx+ 3 96 96 4096 Oct 28 13:53 revs drwxrwsrwx+ 2 96 96 4096 Nov 11 01:39 transactions -rw-rw-rw-+ 1 96 96 2 Nov 10 23:18 txn-current -rw-rw-rw-+ 1 96 96 0 Oct 28 13:53 txn-current-lock drwxrwsrwx+ 2 96 96 4096 Nov 11 01:39 txn-protorevs -rw-rw-rw-+ 1 96 96 37 Oct 28 13:53 uuid -rw-rw-rw-+ 1 96 96 0 Oct 28 13:53 write-lock svn的配置目录 /mnt/sharerepo/server/conf svn的数据目录 /mnt/sharerepo/server/db httpd的配置目录 /etc/httpd/conf/ httpd的数据目录 /var/www/html/ openldap的配置目录 10:24:28 43 /usr/local/etc/openldap:#ll total 40 -rw-r--r--. 1 root root 618 Nov 13 10:06 1.ldif -rw-------. 1 root root 845 Nov 2 17:22 DB_CONFIG.example -rw-r--r--. 1 root root 245 Nov 2 17:22 ldap.conf -rw-r--r--. 1 root root 245 Nov 2 17:22 ldap.conf.default drwxr-xr-x. 2 root root 4096 Nov 2 17:22 schema -rw-------. 1 root root 1956 Nov 5 17:34 slapd.conf -rw-------. 1 root root 2129 Nov 2 17:22 slapd.conf.default drwxr-xr-x. 2 root root 4096 Nov 13 10:02 slapd.d -rw-------. 1 root root 2626 Nov 5 17:17 slapd.ldif -rw-------. 1 root root 2651 Nov 2 17:22 slapd.ldif.default openldap的数据目录 10:23:35 41 /usr/local/var/openldap-data:#ll total 1016 -rw-r--r--. 1 root root 4096 Nov 5 17:34 alock -rw-------. 1 root root 24576 Nov 5 17:34 __db.001 -rw-------. 1 root root 188416 Nov 5 17:34 __db.002 -rw-------. 1 root root 270336 Nov 5 17:34 __db.003 -rw-------. 1 root root 98304 Nov 5 17:34 __db.004 -rw-------. 1 root root 753664 Nov 5 17:34 __db.005 -rw-------. 1 root root 32768 Nov 5 17:34 __db.006 -rw-------. 1 root root 845 Nov 2 17:22 DB_CONFIG.example -rw-------. 1 root root 8192 Nov 5 15:14 dn2id.bdb -rw-------. 1 root root 32768 Nov 5 15:14 id2entry.bdb -rw-------. 1 root root 10485760 Nov 5 17:15 log.0000000001 -rw-------. 1 root root 8192 Nov 5 15:14 objectClass.bdb
yum install openldap-servers
yum install openldap-clients
/usr/sbin/slapacl
/usr/sbin/slapadd
/usr/sbin/slapauth
/usr/sbin/slapcat
/usr/sbin/slapd
/usr/sbin/slapdn
/usr/sbin/slapindex
/usr/sbin/slappasswd
/usr/sbin/slapschema
/usr/sbin/slaptest
LDAP:Lightweight Directory Access Protocol 轻量级目录访问协议
LDAP协议基于X.500标准, 与X.500不同,LDAP支持TCP/IP, 是跨平台的和标准的协议
LDAP标准实际上是在X.500标准基础上产生的一个简化版本
AD是Active Directory的缩写,AD应该是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据来解决域控这个具体问题,
只是AD顺便还提供了用户接口,也可以利用Active Directory当做LDAP服务器存放一些自己的东西而已。比如LDAP是关系型数据库,微软自己在库中建立了几个表,每个表都定义好了字段。显然这些表和字段都是根据微软自己的需求定制的,而不是LDAP协议的规定。然后微软将LDAP做了一些封装接口,用户可以利用这些接口写程序操作LDAP,使得Active Directory也成了一个LDAP服务器。
总之:Active Directory = LDAP服务器+LDAP应用(Windows域控)。Active Directory先实现一个LDAP服务器,然后自己先用这个LDAP服务器实现了自己的一个具体应用(域控)
7.1.2
目录服务标准:X.500和LDAP
目录服务的两个国际标准是X.500和LDAP。X.500包括了从X.501到X.509等一系列目录数据服务,已经被作为提供全球范围的目录服务的一种国际标准。
而LDAP是基于TCP/IP协议的目录访问协议,是Internet上目录服务的通用访问协议。
X.500是国际电联定义的目录标准,它包括了一系列完整的目录数据服务。用于X.500客户机与服务器通信的协议是DAP(Directory Access Protocol)。X.500为网络用户提供分布式目录服务。
它定义一个机构如何在一个企业的全局范围内共享名字和与它们相关的对象。X.500规定总体命名方式,全球统一的名字空间,一个完整的X.500系统称为一个目录。这个目录是一个数据库,称为目录信息数据库(DIB)。X.500是层次性的,所有对象被组织成树形结构,模仿一个机构的组织形式。X.500目录服务还能够实现身份认证、访问控制。它被公认为是实现一个目录服务的最好途径,但是它的实现需要很大投资,效率不高,在实际应用中存在着不少障碍。DAP对相关层协议环境要求过多,在许多小系统上无法使用,也不适应TCP/IP协议体系。
鉴于此,出现了DAP的简化版LDAP。
LDAP(Lightweight Directory Access Protocol)的目的很明确,就是要简化X.500目录的复杂度以降低开发成本,同时适应Internet的需要。LDAP已经成为目录服务的标准,它比X.500 DAP协议更为简单实用,而且可以根据需要定制,因而实际应用也更为广泛。与X.500不同,LDAP支持TCP/IP协议,这对访问Internet是必需的。X.500采用公钥基础结构(PKI)作为主要的认证方式,而LDAP最初并不考虑安全问题,目前已增加安全机制。为保证数据访问安全,可使用LDAP的ACL(访问控制列表)来控制对数据读和写的权限。
LDAP目前有两个版本:第2版LDAP v2和第3版LDAP v3。基于LDAP v3的服务器可以让普通用户使用支持LDAP功能的Web浏览器,进行有关电子邮件用户的查询,可以查询的用户属性包括姓名、电话号码、电子邮件地址和地址信息等;系统管理员可以通过LDAP客户程序远程进行目录管理操作,如添加、删除和修改用户账户信息等;可以请求服务器执行扩展操作。
内部细节并不重要,因为这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前。
LDAP 信息被组织成属性和值的组合,称为 条目(entry)。条目可能会具有必须的属性或可选属性。一个条目的属性必须要遵循 /etc/openldap/schema/ 模式文件中定义的规则。规则包含在条目的 objectclass 属性中。看一下下面的关系,我们可以看出 posixAccount objectclass 中包含了密码文件条目的信息(posixAccount userPassword 是文件条目的 base64 编码)。
在LDAP中信息以树状方式组织,在树状信息中的基本数据单元是条目,而每个条目由属性构成,属性中存储有属性值
(1)O:Organization 组织
根的表示方法(参考LDAP Server)
a. 组织名称(x.500)
假设组织名称为zhangyang
o=zhangyang
b. 域名
假设组织域名为zhangyang.com
o=zhangyang.com或dc=zhangyang, dc=com
(2)OU: Organization Unit 组织单元
(3)Entry: 条目,记录, 由DN唯一标识
(4)DN: Distinguished Name,每个叶子结点到根的路径就是DN
如: cn=test, ou=ou1, o=zhangyang.com
(5)RDN: Relative Distinguished Name,叶子结点本身的名字是RDN
如:test就是RDN
(6)Base DN: 基准DN,指定LDAP search的起始DN,即从哪个DN下开始搜索
搜索组织单元为ou1,则base DN为 ou=ou1,o=O
ou=ou1,o=zhangyang.com 或 ou=ou1,dc=zhangyang, dc=com
(7)AttributeType:属性类型,
(8)ObjectClass: 对象类,由多个attributetype(属性类型)组成, 每个条目(Entry)必须属于某个或多个对象类(Object Class)
(9)schema文件: 定义对象类、属性类型、语法和匹配规则, 有系统schema,用户也可自定义schema文件
(10) LDIF:LDAP Interchange Format, 是指存储LDAP配置信息及目录内容的标准文本文件格式。LDIF文件常用来向目录导入或更改记录信息,
基本格式:AttributeName: value
属性名 冒号 空格 属性值
如
dn: dc=zy,dc=net
objectclass: dcObject
objectclass: organization
dc: zy
o: zhangyang
(11)监听端口
TCP/IP port: 389
SSL port: 636
三、Search filter:
每个表达式都放在括号内,多个表达式用与(&),或(|),非(!)等连结
& (&(filter1)(filter2)...(filtern)) filter1,filter2,...,filtern同时满足
| (|(filter1)(filter2)...(filtern)) filter1,filter2,...,filtern至少有一个满足
! (!(filter)) 非filter
filter支持通配符(wildcard)*
*表示零或多个字符
如(objectclass=*),指列出所有类型的记录(不过分类)
四、LDAP客户端和LDAP服务器端交互过程
1. 绑定。LDAP客户端与LDAP服务器建立连接。可匿名绑定,也可以用户名+密码形式绑定(具体参考LDAP Server, AD不支持匿名查询)。
2. LDAP客户端向LDAP服务器发出查询、添加、修改、删除entry等操作。
3. 解除绑定。LDAP客户端与LDAP服务器断开连接。
五、 LDAP软件
常见的LDAP服务器:Microsoft Active Directory, IBM Domino, openldap
常见的LDAP客户端: JXplorer
DNS树
UNIX文件的目录树
ldap的DIT
超级用户与密码由slapd.conf下面指定
rootdn "cn=Manager,dc=fgy,dc=com"
rootpw secret
curl -O ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.42.tgz tar zxvf openldap-2.4.42.tgz cd openldap-2.4.42 ./configure yum install db4-devel make depend make make test make install cd /usr/local/etc/openldap vi slapd.conf cd /usr/local/var/openldap-data /usr/local/libexec/slapd 默认安装完成之后,就可以启动,然后尽量通过工具去操作slapadd,slaptest等 两种配置方式老的slapd.conf,与新的slapd-config方式。 mkdir slapd.d 两种方式, 1.复制一个现成的,然后添加 cp slapd.ldif slapd.d/1.ldif grep -v "^#" 1.ldif >2.ldif slapadd -F /usr/local/etc/openldap/slapd.d -n 0 -l 2.ldif 优先顺序是先检查slapd.d目录中有无slapd-config方式的文件,如无,会找slapd.conf文件来启动,并生成bdb格式的文件,如下 [root@localhost slapd.d]# ll /usr/local/var/openldap-data/ total 980 -rw-r--r--. 1 root root 2048 Nov 14 09:46 alock -rw-------. 1 root root 24576 Nov 14 09:46 __db.001 -rw-------. 1 root root 188416 Nov 14 09:46 __db.002 -rw-------. 1 root root 270336 Nov 14 09:46 __db.003 -rw-------. 1 root root 98304 Nov 14 09:46 __db.004 -rw-------. 1 root root 753664 Nov 14 09:46 __db.005 -rw-------. 1 root root 32768 Nov 14 09:46 __db.006 -rw-------. 1 root root 8192 Nov 14 09:46 dn2id.bdb -rw-------. 1 root root 32768 Nov 14 09:46 id2entry.bdb -rw-------. 1 root root 10485760 Nov 14 09:46 log.0000000001 在服务未启动之前就添加或转换,这样当服务启动后,会在此ldif所定义的目录中生成以下文件 [root@localhost slapd.d]# ll /usr/local/var/openldap-data/ total 16 -rw-------. 1 root root 12288 Nov 14 10:08 data.mdb -rw-------. 1 root root 8192 Nov 14 10:08 lock.mdb 2.将现成的进行转换 slaptest -f /usr/local/etc/openldap/slapd.conf -F /usr/local/etc/openldap/slapd.d kill -INT `cat /usr/local/var/run/slapd.pid` ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts ldapsearch -x -b 'dc=fgy,dc=com' '(objectclass=*)' ldapsearch -x -D cn=config -w VerySecret -b cn=config ldapsearch -x -D cn=config -w secret -b cn=config ldapadd -x -D "cn=Manager,dc=fgy,dc=com" -W -f a.ldif ldapadd -x -D "cn=wo,dc=fgy1,dc=com" -W -f b.ldif ldapwhoami slaptest -f slapd.conf -F slapd.d slapindex -b 'dc=fgy,dc=com' slappasswd -s wo 10:39:45 16 ~/packages/openldap-2.4.42:#slaptest -u -f /usr/local/etc/openldap/slapd.conf config file testing succeeded 15:08:25 62 /usr/local/etc/openldap/schema:#/usr/local/libexec/slapd -d ? Installed log subsystems: Any (-1, 0xffffffff) Trace (1, 0x1) Packets (2, 0x2) Args (4, 0x4) Conns (8, 0x8) BER (16, 0x10) Filter (32, 0x20) Config (64, 0x40) ACL (128, 0x80) Stats (256, 0x100) Stats2 (512, 0x200) Shell (1024, 0x400) Parse (2048, 0x800) Sync (16384, 0x4000) None (32768, 0x8000) NOTE: custom log subsystems may be later installed by specific code 控制台查看日志 14:01:20 122 /usr/local/etc/openldap:#/usr/local/libexec/slapd -d 256 56457cb5 @(#) $OpenLDAP: slapd 2.4.42 (Nov 2 2015 17:08:40) $ root@localhost.localdomain:/root/packages/openldap-2.4.42/servers/slapd 56457cb5 bdb_db_open: warning - no DB_CONFIG file found in directory /usr/local/var/openldap-data: (2). Expect poor performance for suffix "dc=fgy,dc=com". 56457cb5 bdb_monitor_db_open: monitoring disabled; configure monitor database to enable 56457cb5 bdb_db_open: warning - no DB_CONFIG file found in directory /usr/local/var/open: (2). Expect poor performance for suffix "dc=fgy1,dc=com". 56457cb5 bdb_db_open: warning - no DB_CONFIG file found in directory /usr/local/var/myhome: (2). Expect poor performance for suffix "dc=myhome,dc=com". 56457cb5 slapd starting 15:08:48 63 /usr/local/etc/openldap/schema:#ps -ef|grep slapd root 6932 1 0 Nov02 ? 00:00:00 /usr/local/libexec/slapd root 25258 19416 0 15:09 pts/0 00:00:00 grep slapd 停止服务 15:14:01 76 /usr/local/etc/openldap:#kill -INT `cat /usr/local/var/run/slapd.pid` 15:14:21 77 /usr/local/etc/openldap:#ps -ef|grep slapd root 25383 19416 0 15:14 pts/0 00:00:00 grep slapd 启动服务 15:14:27 78 /usr/local/etc/openldap:#/usr/local/libexec/slapd 15:14:52 79 /usr/local/etc/openldap:#ps -ef|grep slapd root 25385 1 0 15:14 ? 00:00:00 /usr/local/libexec/slapd root 25388 19416 0 15:14 pts/0 00:00:00 grep slapd 15:23:19 85 /usr/local/etc/openldap:#man slapd.conf 15:23:19 85 /usr/local/etc/openldap:#man slapd.backends 15:33:29 91 /usr/local/etc/openldap:#man slapd-bdb 15:40:51 92 /usr/local/etc/openldap:#man slapd-mdb 10:32:01 11 ~/packages/openldap-2.4.42:#slappasswd New password: Re-enter new password: {SSHA}J/PnUzwhAju1gn6hqUzktwhZKOHpEzuU 15:50:34 102 /usr/local/etc/openldap:#slappasswd -s wo {SSHA}FxVQwKTQrn0vwIJ2KUmPwy2aJkk0wl+F 16:08:11 14 ~:#cat b.ldif dn: dc=fgy1,dc=com objectclass: dcObject objectclass: organization o: woei dc: fgy1 dn: cn=wo,dc=fgy1,dc=com objectclass: organizationalRole cn: wo 下面这个密码是fgy1.com的密码,每个suffix的密码由rootpw指定 16:08:15 15 ~:#ldapadd -x -D "cn=wo,dc=fgy1,dc=com" -W -f b.ldif Enter LDAP Password: ldap_bind: Invalid credentials (49) 16:08:44 16 ~:#ldapadd -x -D "cn=wo,dc=fgy1,dc=com" -W -f b.ldif Enter LDAP Password: adding new entry "dc=fgy1,dc=com" adding new entry "cn=wo,dc=fgy1,dc=com" vi /usr/local/etc/openldap/slapd.conf 加入下面部分,定义了两个数据库,目录要在启动服务之前先建立,权限一般700,否则不能启动服务 database bdb suffix "dc=fgy,dc=com" rootdn "cn=Manager,dc=fgy,dc=com" rootpw secret directory /usr/local/var/openldap-data index objectClass eq database bdb suffix "dc=fgy1,dc=com" rootdn "cn=wo,dc=fgy1,dc=com" rootpw {SSHA}FxVQwKTQrn0vwIJ2KUmPwy2aJkk0wl+F directory /usr/local/var/open index objectClass eq
添加项(entry)的过程是:不管是slapd.conf,还是slapd-config方式,
slapd.conf方式
先添加这些内容 database bdb suffix "dc=fgy,dc=com" rootdn "cn=Manager,dc=fgy,dc=com" rootpw secret directory /usr/local/var/openldap-data index objectClass eq 再书写一个a.ldif,其实是书写两个entry,就是suffix与rootdn dn: dc=fgy,dc=com objectclass: dcObject objectclass: organization o: example company dc: fgy dn: cn=Manager,dc=fgy,dc=com objectclass: organizationalRole cn: Manager 然后再导入,然后再添加其它的entry ldapadd -x -D "cn=Manager,dc=fgy1,dc=com" -W -f a.ldif
slapd-config方式
先书写一个2.ldif, 再初始化slapadd -F /usr/local/etc/openldap/slapd.d -n 0 -l 2.ldif,再启动服务 如下: dn: cn=config objectClass: olcGlobal cn: config olcArgsFile: /usr/local/var/run/slapd.args olcPidFile: /usr/local/var/run/slapd.pid dn: cn=schema,cn=config objectClass: olcSchemaConfig cn: schema include: file:///usr/local/etc/openldap/schema/core.ldif dn: olcDatabase=frontend,cn=config objectClass: olcDatabaseConfig objectClass: olcFrontendConfig olcDatabase: frontend dn: olcDatabase=mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb olcSuffix: dc=flt,dc=com olcRootDN: cn=wo,dc=flt,dc=com olcRootPW: secret olcDbDirectory: /usr/local/var/open2 olcDbIndex: objectClass eq 然后再添加entry,olcsuffix与olcrootdn是必添加项,与sldap.conf方式一样,每一项完成之后,要空格。 15:05:46 26 /usr/local/etc/openldap/slapd.d:#ldapadd -x -D "cn=wo,dc=flt,dc=com" -W Enter LDAP Password: dn:dc=flt,dc=com objectclass:dcObject objectclass:organization o:fltdz dc:flt adding new entry "dc=flt,dc=com" dn:cn=wo,dc=flt,dc=com objectclass:organizationalRole cn:wo adding new entry "cn=wo,dc=flt,dc=com" dn:cn=Barbara Jensen,dc=flt,dc=com objectClass:person cn:Barbara Jensen cn:Babs Jensen sn:Jensen adding new entry "cn=Barbara Jensen,dc=flt,dc=com" dn:cn=wxy,ou=members,dc=flt,dc=com cn:wxy sn:WXY objectclass:person adding new entry "cn=wxy,ou=members,dc=flt,dc=com"
相关文章推荐
- 基于LinuxOPENldap实验之账户管理
- linux上安装ldap服务
- Linux下安装openldap+Berkeley DB
- OpenLDAP+SSL+SSSD 实现Linux登录集中认证
- 在Linux上安装Memcached服务【启动Memcached服务可能报错:libiconv.so.2: cannot open shared object file详情见文章】
- Linux -- 目录服务配置及应用(LDAP协议)(1)
- Linux -- 目录服务配置及应用(LDAP协议)(2)
- Linux 第八周学习笔记(2) nfs,ldap网络帐号,autofs自动挂载服务
- LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
- Linux环境下安装LDAP服务
- Linux/Openwrt路由安装配置UPNP服务提高迅雷下载速度
- LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
- linux笔记2-8 ldap网络服务
- open LDAP for Linux 安装过程
- 五、配置Linux OpenLDAP客户端
- Deploying OpenFire for IM (instant message) service (TCP/IP service) with database MySQL , client Spark on linux部署OpenFire IM 消息中间件服务
- Openldap for Linux 学习笔记 [原文http://www.ringkee.com/jims/technic_folder/Openldap]
- linux openldap同步配置
- Linux_RHEL7_LDAP、Autofs服务