部署和配置CentOS 7 LDAP服务器
时间:2020-01-09 10:38:08 来源:igfitidea点击:
说明
Lighweight Directory Access Protocol(轻量级目录访问协议),以其首字母缩写LDAP闻名,它为用户和其他对象提供目录服务。它主要用于在整个环境中提供从服务器到Web应用程序的单点登录身份验证。
本教程将指导我们在CentOS 7上部署和配置LDAP服务器。
本教程中使用的环境具有以下配置。
域 |
---|
公司内部 |
dc=corp,dc=theitroad,dc=intra公司 |
服务器01. 公司内部 |
安装OpenLDAP
- 使用具有管理权限的帐户登录服务器。
- 使用Yum安装所需的软件包。
yum install openldap-servers openldap-clients nss-pam-ldapd
配置域
为管理帐户创建密码
Manager帐户是默认管理员,也称为OpenLDAP的Root帐户。该帐户拥有LDAP的全部权限,并且需要一个安全的密码。此步骤将指导我们完成为帐户生成加密密码的过程。
- 使用slappasswd创建加密的密码。
slappasswd
- 出现提示时,输入新密码。
- 出现提示时,请重新输入新密码。
- slappasswd不应输出输入密码的加密形式。
{SSHA}BvCGYqos1HWnzIzAnxNTgqu9xRErywaP
不要使用此输出并将其记录下来。我们将很快使用它。
配置数据库
- 在文本编辑器中打开LDAP数据库文件。
vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- 找到以下几行。
olcSuffix: dc=example,dc=com olcRootDN: cn=Manager,dc=example,dc=com
并对其进行修改,使其指向域的专有名称(DN)。在本教程中,我们是dc = corp,dc = theitroad,dc = intra。
olcSuffix: dc=corp,dc=theitroad,dc=intra olcRootDN: cn=Manager,dc=corp,dc=theitroad,dc=intra
- 使用先前生成的密码设置Manager帐户的密码。在olcRootDN行下面添加以下行。
olcRootPW: {SSHA}1gChY5Xzoozcd73sOma9v6qocpRBWpkP
- 保存设置并退出文本编辑器。
配置监视权限
支持Monitor的用户可以查询LDAP数据库以获得信息。在某些环境中,这可以被视为安全风险。因此,我们可能想限制谁可以访问它。我们将授予对Manager帐户的访问权限,并拒绝其他任何人。
- 在文本编辑器中打开OpenLDAP监视配置文件。
vi /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
- 找到以下行。
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=manager,dc=example,dc=com" read by * none
并通过指向Manager帐户的DN对其进行修改。
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=theitroad,dc=intra" read by * none
- 保存更改并退出文本编辑器。
创建数据库配置文件
此文件用于调整OpenLDAP。 OpenLDAP服务器安装随附的示例文件非常适合入门,但是,对于当今的硬件,其设置可能太保守了。
- 通过复制示例模板来创建数据库配置文件。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- 为数据库配置文件分配适当的权限。
chown -Rf ldap:ldap /var/lib/ldap/
创建一个用户帐号
- 创建一个名为Admin的用户。
dn: uid=admin,ou=Users,dc=your-domain,dc=com uid: admin cn: admin objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: password shadowLastChange: 15140 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 999 gidNumber: 999 homeDirectory: /home/ldap