Ldap
来自Alex's wiki
目录
安装OpenLdap
OpenLDAP学习笔记
CentOS 5.5 安装记录 - (7) LDAP安装和基本配置
Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
LDAP管理工具:phpLDAPadmin 的安装配置
yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap --setopt=protected_multilib=false
vi /etc/openldap/slapd.conf
ldapadd -D "cn=Manager,dc=openldap,dc=imback,dc=net" -W -x -f base.ldif
{SSHA}Tt7VVYAJAwrwN0IKEf14j5Lj1BXO2U9k
安装php-ldap扩展(这是基于LNMP里的PHP的扩展,LDAP未用到)
cd /home/package/lnmp/lnmp1.2-full/src/php-5.5.25/ext/ldap /usr/local/php/bin/phpize cp -frp /usr/lib64/libldap* /usr/lib/ ./configure -with-ldap -with-php-config=/usr/local/php/bin/php-config make make install ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ vi /usr/local/php/etc/php.ini #然后添加 extension = "ldap.so"
PHPLDAPADMIN配置(因为普通用户能进来做任何事,弃用)
vi /etc/httpd/conf/httpd.conf
Listen 8011 <VirtualHost *:8011> ServerName openldap.imback.net DocumentRoot /usr/share/phpldapadmin Alias /phpldapadmin /usr/share/phpldapadmin/htdocs Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> Order Deny,Allow Allow from all Allow from 127.0.0.1 192.168.1.0/24 Allow from ::1 </Directory> </VirtualHost>
service httpd restart
vi /etc/phpldapadmin/config.php
$servers->setValue('server','host','127.0.0.1'); $servers->setValue('server','port',389); $servers->setValue('server','base',array('dc=openldap,dc=imback,dc=net')); $servers->setValue('login','auth_type','cookie'); $servers->setValue('login','bind_id','cn=Manager,dc=openldap,dc=imback,dc=net'); $servers->setValue('login','bind_pass','xxxxxxxxxxxxxx'); $servers->setValue('login','attr','dn');
添加用户流程
LAM系统
- 打开 http://openldap.imback.net/lam 点击添加用户
- 个人信息里:
- 名字,如:成磊
- 姓,如:乔
- unix里:
- 用户名(即uid),如:qiaochenglei
- 全名(即cn),如:qiaochenglei
- 点击保存
- 点击设置密码
- 点击保存
phpLdapAdmin系统
- 打开 http://openldap.imback.net/htdocs
- 选中用户 如 cn=qiaochenglei,ou=People,dc=openldap,dc=imback,dc=net
- 增加新的属性,选Password 设置一个密码
SSP
部署self-service-password前先要配置slapd,以允许用户自己改密码:LDAP 用户更改自己的密码
#下面的控制权限的语句。 access to dn.subtree="ou=People,dc=openldap,dc=imback,dc=net" attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=openldap,dc=imback,dc=net" write by self write by anonymous auth by * read
http://ltb-project.org/wiki/documentation/self-service-password/latest/config_general
GOGS使用LDAP认证
- 用户过滤规则
- (&(objectClass=person)(uid=%s))