一、目录服务
1、说明
为了浏览和搜索数据而设计的特殊的数据库,树状结构,更多用来提供查询和搜索、而不是大量的写入。
2、目录标准
X.500:ITU定义
ldap:基于TCP/IP的目录访问协议
二、ldap
1、常用名词
dc:域名部分
uid:用户id
ou:组织单位(子目录)
cn:公共名称
sn:姓
dn:唯一辨别名(类似于linux文件系统的绝对路径)
2、特点
空行来分割一个条目
以#开始为注释
属性可以被重复赋值
每行的结尾不允许有空格
3、搭建
server:192.168.137.51
hostname:www.syk.com
client:192.168.137.52
时间同步:
crontab -e
*/5 * * * * ntpdate time.nist.gov >/dev/null
安装ldap
yum -y install openldap openldap-* --skip-broken
yum -y install nscd nss-pam-ldapd nss-* pcre pcre-* --skip-broken
配置:
拷贝配置文件:
cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
生成密码:
[[email protected] openldap]# slappasswd -s syk123
{SSHA}6Y6iqJnmgwiXjFjh04cLCukqsCNCCRLQ
把密码加入配置文件中
vim slapd.conf
1)、添加:
rootpw {SSHA}6Y6iqJnmgwiXjFjh04cLCukqsCNCCRLQ
loglevel 296
cachesize 1000
checkpoint 2048 10
注释:loglevel 日志级别
cachesize 缓存的记录数
checkpoint 将内存的数据写回数据文件,达到2048k或10分钟执行一次
2)、修改:(114、115、116、117行)
idatabase bdb
suffix "dc=syk,dc=com"
rootdn "cn=admin,dc=syk,dc=com"
3)、修改:
将98-108行注释掉
并在下面添加:
access to *
by self write
by anonymous auth
by * read
注释:指定用户可以修改自己的密码同时更新自己的shadow信息来反映密码的变化,身份验证允许能够检索用户的密码。
4)、配置syslog记录sldap的日志
cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
vim /etc/rsyslog.conf添加:
local4.* /var/log/ldap.log
重启rsyslog
/etc/init.d/rsyslog restart
5)、配置数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
chmod 700 /var/lib/ldap/DB_CONFIG
检查所有配置是否正确
slaptest -u
config file testing succeeded则表示配置正确
6)、查询数据库:
ldapsearch -LLL -W -x -H ldap://www.syk.com -D "cn=admin,dc=syk,dc=com" -b "dc=syk,dc=com" "(uid=*)"
如果报错:ldap_bind: Invalid credentials (49)
解决方法:
rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap.ldap /etc/openldap/slapd.d/
重启:/etc/init.d/slapd restart
7)、为ldap配置web接口管理
官网:https://www.ldap-account-manager.org/lamcms/
yum -y install httpd php php-ldap php-gd
cd /var/www/html
wget http://superb-sea2.dl.sourceforge.net/project/lam/LAM/5.2/ldap-account-manager-5.2.tar.bz2
tar -jxvf ldap-account-manager-5.2.tar.bz2
mv ldap-account-manager-5.2 ldap
cd ldap/config
cp config.cfg_sample config.cfg
cp lam.conf_sample lam.conf
sed -i ‘s#cn=Manager#cn=admin#g‘ lam.conf
sed -i ‘s#dc=my-domain#dc=syk#g‘ lam.conf
diff lam.conf.sample lam.conf
chown -R apache.apache /var/www/html/ldap
/etc/init.d/httpd restart
网页访问即可:http://192.168.137.51/ldap