LDAP安装

LDAP(Lightweight Directory Access Protocol)是一种轻量级的协议,用于访问和维护分布式目录信息。它通常用于集中管理用户身份验证和授权信息,如用户名、密码和角色等信息。在企业环境中,LDAP通常被用于集中管理用户、组和计算机等资源。

本文将介绍如何在Linux上安装和配置OpenLDAP服务器,并给出一些常见的LDAP使用案例。

一、安装OpenLDAP

在Linux系统中,可以使用包管理器快速安装OpenLDAP,例如在Debian/Ubuntu系列中使用以下命令:

```

sudo apt-get update

sudo apt-get install slapd ldap-utils

```

在CentOS/RHEL系列中使用以下命令:

```

sudo yum install openldap-servers openldap-clients

```

安装完成后,即可开始配置LDAP服务器。

二、配置LDAP服务器

1. 配置管理员账号和密码

LDAP服务器的第一步是创建一个管理员账号和密码,用于管理LDAP目录。可以使用 `slappasswd` 工具来创建加密的密码,例如:

```

sudo slappasswd

New password:

Re-enter new password:

{SSHA}2/RaXa3VQw1zC6W4rTcIxhOXwaBYSO9

```

将输出中的结果复制一下,将其保存到一个文件中,如 `/etc/ldap.secret`。

创建一个名为 `admin-password.ldif` 的文件,将以下内容复制到其中:

```

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

changetype: modify

replace: olcRootPW

olcRootPW: {SSHA}2/RaXa3VQw1zC6W4rTcIxhOXwaBYSO9

```

使用 `ldapmodify` 命令来提交修改:

```

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f admin-password.ldif

```

2. 配置基本信息

创建一个名为 `basedomain.ldif` 的文件,并将以下内容复制到其中:

```

dn: dc=my-domain,dc=com

objectClass: top

objectClass: dcObject

objectclass: organization

o: My Organization

dc: my-domain

dn: cn=admin,dc=my-domain,dc=com

objectClass: simpleSecurityObject

objectClass: organizationalRole

cn: admin

userPassword: {SSHA}2/RaXa3VQw1zC6W4rTcIxhOXwaBYSO9

description: LDAP admin

```

说明:

- `dc=my-domain,dc=com` 是你的基本域名信息。可以根据自己的需求进行修改。

- `cn=admin,dc=my-domain,dc=com` 是管理员账号信息,需要设置密码(即上面生成的密码)。

使用 `ldapadd` 命令来添加基本信息:

```

sudo ldapadd -x -D cn=admin,dc=my-domain,dc=com -W -f basedomain.ldif

```

3. 配置ACL(访问控制)

默认情况下,LDAP服务器不允许任何数据访问。因此,需要为管理员提供适当的权限。可以在 `/etc/ldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif` 文件中添加以下内容:

```

olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by dn.base="cn=admin,dc=my-domain,dc=com" manage by * read

```

上述代码意思是:

- 管理员(`cn=admin,dc=my-domain,dc=com`)拥有管理所有条目的权限。

- 其他用户(`*`)可以读取所有条目,但不能写入或更改其内容。

使用以下命令来重新启动LDAP服务:

```

sudo systemctl restart slapd

```

现在,LDAP服务器已经安装并配置完成。下面介绍一些常见的LDAP操作。

三、常见LDAP操作案例

1. 添加用户

若想添加一个用户名为 `johndoe` 的用户,创建一个名为 `johndoe.ldif` 的文件,并将以下内容复制到其中:

```

dn: uid=johndoe,dc=my-domain,dc=com

objectClass: top

objectClass: account

objectClass: posixAccount

objectClass: shadowAccount

cn: John Doe

uid: johndoe

uidNumber: 10001

gidNumber: 10001

homeDirectory: /home/johndoe

loginShell: /bin/bash

gecos: John Doe

userPassword: {crypt}x

shadowLastChange: 0

shadowMax: 0

shadowWarning: 0

```

说明:

- `dn` 表示用户的唯一身份标识符(即全局ID)。其格式是 `uid=,dc=`,例如 `uid=johndoe,dc=my-domain,dc=com`。

- `uid` 表示用户的用户名。

- `uidNumber` 和 `gidNumber` 表示用户的“数字ID”(数字UID和数字GID)。

- `userPassword` 表示用户的密码。可以使用 `slappasswd` 工具来创建加密的密码,例如 `sudo slappasswd -h {CRYPT}`。

- `shadow` 类的属性包含有关用户密码的其他详细信息,如密码过期期限和警告等。

使用以下命令将用户添加到LDAP目录:

```

sudo ldapadd -x -D cn=admin,dc=my-domain,dc=com -W -f johndoe.ldif

```

2. 修改用户信息

若想修改 `johndoe` 用户的信息,可以修改 `johndoe.ldif` 文件中的内容,然后使用以下命令进行更新:

```

sudo ldapmodify -x -D cn=admin,dc=my-domain,dc=com -W -f johndoe.ldif

```

3. 删除用户

若想删除 `johndoe` 用户,可以创建一个名为 `johndoe-delete.ldif` 的文件,并将以下内容复制到其中:

```

dn: uid=johndoe,dc=my-domain,dc=com

changetype: delete

```

使用以下命令将用户从LDAP目录中删除:

```

sudo ldapmodify -x -D cn=admin,dc=my-domain,dc=com -W -f johndoe-delete.ldif

```

四、总结

本文介绍了如何在Linux上安装和配置OpenLDAP服务器,并介绍了一些常见的LDAP使用案例,包括添加、修改和删除用户等。LDAP是一种强大的工具,可以用于集中管理用户和资源等,适用于企业环境中。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(20) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部