技术平台-开发环境-用户认证

abstiger大约 2 分钟

用户认证

LDAP是Lightweight Directory Access Protocol的缩写,顾名思义,它是指轻量级目录访问协议(这个主要是相对另一目录访问协议X.500而言的;LDAP略去了x.500中许多不太常用的功能,且以TCP/IP协议为基础)。

LDAP目录以树状的层次结构来存储数据(这很类同于DNS),最顶层即根部称作“基准DN”,形如"dc=krproject,dc=org"。在根目录的下面有很多的文件和目录,为了把这些大量的数据从逻辑上分开,LDAP像其它的目录服务协议一样使用OU(Organization Unit),可以用来表示公司内部机构,如部门等,也可以用来表示设备、人员等。同时OU还可以有子OU,用来表示更为细致的分类。

LDAP中每一条记录都有一个唯一的区别于其它记录的名字DN(Distinguished Name),其处在“叶子”位置的部分称作RDN;如dn:uid=tiger,ou=people,dc=krproject,dc=org中tiger即为RDN;RDN在一个OU中必须是唯一的。

安装步骤

以下为笔者在虚拟主机Ubuntu16.04上的安装步骤,其中:

OpenLDAP服务的安装与配置

https://www.openldap.org/doc/admin24/guide.htmlopen in new window

安装openldap服务及工具包:

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

配置slapd:

sudo dpkg-reconfigure slapd

会被问到一系列问题:

  • Omit OpenLDAP server configuration?: No
  • DNS domain name: 基于输入的domain创建基本的目录结构。krproject.org
  • Organization name: krproject
  • Administrator password: 安装时候输入的密码,或使用新密码。
  • Database backend to use: HDB
  • removed when slapd is purged?: No
  • Move old database?: Yes
  • Allow LDAPv2 protocol?: No

配置slapd仅本机访问:

sudo vi /etc/default/slapd

SLAPD_SERVICES="ldap:/// ldapi:///" 替换为:SLAPD_SERVICES="ldap://127.0.0.1:389/ ldapi:///"

我们采用组织属性(o)来控制各服务的访问权限,本地检查命令为:

ldapsearch -D "CN=admin,DC=krproject,DC=org" -w ****** -H ldap://localhost:389 -b "OU=people,DC=krproject,DC=org" "(o=*openvpn*)"

LDAP Account Manager的安装与配置

因为是php的应用,这里我们采用源码方式安装: 从 https://www.ldap-account-manager.org/lamcms/releasesopen in new window 处直接下载最新(6.3)的tar.bz2包,解压后,将内容放在apache2服务根目录/var/www/html/下新建目录中。

LDAP Account Manager的配置全部在web端控制,通过访问域名+目录名即可进行!

Self Service Password的安装与配置

因为是php的应用,这里我们采用源码方式安装: 从 https://ltb-project.org/download#self_service_passwordopen in new window 处直接下载最新(1.2)的tar.gz包,解压后,将内容放在apache2服务根目录/var/www/html/下新建目录中。

编辑目录下的conf/config.inc.php文件,配置ldapmail段为自己所需配置即可。

Loading...