ubuntu14.04安装openldapserver

官网原文:点击打开链接

LDAP:Lightweight Directory Access Protocol,百科:点击打开链接

参考了http://www.cnblogs.com/obpm/archive/2010/08/28/1811065.html 此篇博文,对ldap文件目录结构有所了解。

官网说的比较具体,英语好的童鞋可以好好去看看,本文只讲如何简单安装和使用ldap


修改/etc/hosts配置文件

127.0.1.1       hostname.example.com	hostname

hostname为你自己本机名字,一般这一行原来是这样的:

127.0.1.1       ubuntu

直接改成:
127.0.1.1       ubuntu.example.com	ubuntu
这样做的目的是让你自己有一个rootDN:dc=example,dc=com自己注意看和hosts文件对应的


下面安装

sudo apt-get install slapd ldap-utils

安装过程中会提示输入ldap管理员密码,自己记住吧,不行也有改密码的命令,这里不提(貌似有个linux不能用,原因是无法跳出图形界面?服务器版我都装成了的呀,奇怪)


进入到/etc/ldap

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn

返回结果

dn: cn=config

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

dn: cn=schema,cn=config

dn: cn={0}core,cn=schema,cn=config

dn: cn={1}cosine,cn=schema,cn=config

dn: cn={2}nis,cn=schema,cn=config

dn: cn={3}inetorgperson,cn=schema,cn=config

dn: olcBackend={0}hdb,cn=config

dn: olcDatabase={-1}frontend,cn=config

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

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

ldap中,本人理解,.ldif文件是最重要的,我们可以利用它添加数据库,添加用户信息,也可以修改原先的数据库

以上看到是ldap的配置文件,目录结构如下(还是12.04的那篇文章上有的):

  /etc/ldap/slapd.d/

	├── cn=config
	│   ├── cn=module{0}.ldif
	│   ├── cn=schema
	│   │   ├── cn={0}core.ldif
	│   │   ├── cn={1}cosine.ldif
	│   │   ├── cn={2}nis.ldif
	│   │   └── cn={3}inetorgperson.ldif
	│   ├── cn=schema.ldif
	│   ├── olcBackend={0}hdb.ldif
	│   ├── olcDatabase={0}config.ldif
	│   ├── olcDatabase={-1}frontend.ldif
	│   └── olcDatabase={1}hdb.ldif
	└── cn=config.ldif

Explanation of entries:  |对实体的解释

  • cn=config: global settings |全局设定

  • cn=module{0},cn=config: a dynamically loaded module |动态读取模块

  • cn=schema,cn=config: contains hard-coded system-level schema |包含代码和系统级的表

  • cn={0}core,cn=schema,cn=config: the hard-coded core schema |硬代码核心表(这都是什么呀,原谅我渣渣的英语水平)

  • cn={1}cosine,cn=schema,cn=config: the cosine schema |cosine表

  • cn={2}nis,cn=schema,cn=config: the nis schema |nis表

  • cn={3}inetorgperson,cn=schema,cn=config: the inetorgperson schema |inetorgperson表,这三个貌似是ldap的核心文件,具体干什么的,我不清楚

  • olcBackend={0}hdb,cn=config: the 'hdb' backend storage type |hdb后端存储类型

  • olcDatabase={-1}frontend,cn=config: frontend database, default settings for other databases |前端数据库,其他数据库的默认设置

  • olcDatabase={0}config,cn=config: slapd configuration database (cn=config) |slapd配置的数据库

  • olcDatabase={1}hdb,cn=config: your database instance (dc=examle,dc=com) |你自己的数据库实例


绝对不建议自己修改以上文件!!!!请通过外部方式(.ldif)去修改!!

查询自己的数据库是否正常:
ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn
返回结果:
dn: dc=example,dc=com

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

Explanation of entries:

  • dc=example,dc=com: base of the DIT |DIT的基础目录,就是BASE DN

  • cn=admin,dc=example,dc=com: administrator (rootDN) for this DIT (set up during package install) |rootDN,ldap的管理员

(请注意ldap中管理员就是 cn=admin,dc=example,dc=com

在/etc/ldap/下创建 add_content.ldif:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups

dn: cn=miners,ou=Groups,dc=example,dc=com
objectClass: posixGroup
cn: miners
gidNumber: 5000

dn: uid=john,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john

将上述信心添加进ldap:
ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_content.ldif

输入之前的管理员密码:
Enter LDAP Password: ********

返回:
adding new entry "ou=People,dc=example,dc=com"

adding new entry "ou=Groups,dc=example,dc=com"

adding new entry "cn=miners,ou=Groups,dc=example,dc=com"

adding new entry "uid=john,ou=People,dc=example,dc=com"

查询上述结果是否正常添加进入ldap:
ldapsearch -x -LLL -b dc=example,dc=com 'uid=john' cn gidNumber

返回:
dn: uid=john,ou=People,dc=example,dc=com
cn: John Doe
gidNumber: 5000
查询命令的一些解释:
  • -x: "simple" binding; will not use the default SASL method

  • -LLL: disable printing extraneous information

  • uid=john: a "filter" to find the john user

  • cn gidNumber: requests certain attributes to be displayed (the default is to show all attributes)

-x:“简单”绑定;不使用默认SASL方法
-LLL:禁用打印无关的信息
uid =john:一个“过滤器”找到约翰用户
cn gid号:请求某些特定属性的显示(默认是显示所有属性)

最基本的应用先到这里,做到这里已经能正常使用ldap了,后续还有一些修改等,以后再添加更新。





你可能感兴趣的:(ubuntu14.04安装openldapserver)