美文网首页
[打杂-团队平台搭建] 配置 LDAP 服务

[打杂-团队平台搭建] 配置 LDAP 服务

作者: 荆全齐 | 来源:发表于2016-09-21 01:36 被阅读1276次

简介

我们即将开始一个个的搭建我们的协作平台, 实际上这些平台是随着我们团队不断发展, 相继引入的. 当起第三个平台搭建起来的时候, 一个严峻的问题出现了: 每个平台都有一套账号系统, 每人都要为每个平台记下不同的账户密码, 新人加入管理员要重复三遍创建账号的操作. 这是完全无法接受. 建立一个集中认证系统迫在眉睫, 经过比较 最终选择 OpenLDAP.
回头再看, 如果你打算搭建一系列的需要工具/平台, 集中认证服务是无法绕过的一项工作, 最好在一开始就做, 还可以避免后面迁移用户的麻烦, 所以这里我在最开始就介绍 LDAP.

LDAP 全称是轻量级目录访问协议(Lightweight Directory Access Protocol), 被设计为以中心化分层次的目录和文件的形式管理和访问相关信息.

它可以存储组织任何类型的信息, 在这里我们使用它最常见的用途, 集中式认证. OpenLDAP 是 LDAP 的开源实现, 下面是在 Ubuntu 14.04 上安装的过程.

安装 OpenLDAP

OpenLDAP 包含的 Ubuntu 的默认仓库, 包的名字是 sldap, 同时我们还需要一些工具 ldap-utils

sudo apt-get update
sudo apt-get install sldap ldap-utils

安装过程中, 会让你设定 LDAP 的管理员密码.

配置 sldap

这个过程可以使用交互输入的形式配置很多关键信息, 你会被问到一系列问题:

  • Omit OpenLDAP server configuration? No

  • DNS domain name:

    • 这个选项会决定你的目录路径的根结构, 阅读提示信息理解它是如何实现的.
    • 这其实是一个开放选项, 不过最好使用你或者团队所拥有的域名.
    • 本文使用 example.com 作为样例.
  • Organization name:

    • 组织名称, 依然取决于你自己的决定.
    • 本次使用 example 为例.
  • Administrator password:

    • 安装时候设置的管理员密码, 此时也可以更改这个密码.
  • Database backend to use?

  • Remove the database when slapd is purged? No

  • Move old database? Yes

  • Allow LDAPv2 protocol? No

这时 LDAP 就应该能够正常运行了.

安装 LDAP 的 Web 管理界面 phpLDAPadmin

ldap-utils 提供了一些命令行工具管理 openLDAP, 但是大多数人应该还是更习惯图形界面操作, 我们选择 phpLDAPadmin 作为 openLDAP 的 web 管理图形界面.

phpLDAPadmin 也包含在 Ubuntu 的默认仓库里.

sudo apt-get install phpldapadmin

一行命令就会安装好 phpLDAPadmin 以及依赖, 并且配置好 apache.

配置 phpLDAPadmin

安装好后, 我们需要做一些配置, 让 phpLDAPadmin 能够正确连接 openLDAP.

编辑配置文件

sudo vi /etc/phpldapadmin/config.php

在这个配置文件里, 写入 LDAP 服务的详细信息

$servers->setValue('server','host','server_domain_name_or_IP');

接下来需要配置 LDAP 服务的域名, 我们之前选择的是 example.com, 这里的值就是 "dc=example, dc=com

$servers->setValue('server','base',array('dc=example,dc=com'));

接着修改管理员登陆的 bind_id 参数, cn=admin 已经是对的了, 只需修改 dc 即可.

$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');

最后隐藏模板的警告:

$config->custom->appearance['hide_template_warning'] = true;

保存退出

登陆 phpLDAPadmin web 接口

访问页面

http://domain_name_or_IP_address/phpldapadmin

可以看到这个界面

点击左侧列表 "Login" 连接, 使用管理员账户登陆.

添加组织、组和用户

LDAP 非常灵活, 可以使用多种不同的方式创建关系和结构, 下面我们针对信息创建一些基础结构, 然后用再用信息信息填充它们.

创建组织

点击左侧的 "Create new entry here".

选择 "Generic: Organizational Unit" 模板. 命名为 "groups"

确认改动


左侧可以看到成功创建 "groups"

重复以上过程, 创建 "users" 组织.

创建组

创建三个不同的组, 'admin' 'irc' 'user' 并赋予不同的权限. 点击 "groups" 选择创建子条目

选择 "Generic: Posix Group"

命名为 "admin"

重复以上步骤, 再创建 "irc" 和 "user" 组.

创建用户

接下来创建用户, 并指定到组里. 点击 "ou=users" 开始.

选择 "Generic: User Account"

填写以下内容

需要注意的是, Common Name 必须是唯一的, 建议使用用户名替代自动生成的 FistName LastName 结构的 CN.

点击创建按钮并确认.

添加用户到组

一个用户可以添加到多个组里. 选中之前创建的组, 点击 "Add new attribute":

选择 'memblerUid'

输入要添加的 Uid

然后可以通过 "modify group members" 添加更多用户.

总结

现在 LDAP 已经完美运行, 并且已经创建好一些分组和用户, 可以集成到其它服务里了.

相关文章

网友评论

      本文标题:[打杂-团队平台搭建] 配置 LDAP 服务

      本文链接:https://www.haomeiwen.com/subject/dsinettx.html