LDAP 用户更改自己的密码

LDAP中采用了ACL的权限控制。

在/etc/openldap/slapd.conf文件中:

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

include		/etc/openldap/schema/corba.schema
include		/etc/openldap/schema/core.schema
include		/etc/openldap/schema/cosine.schema
include		/etc/openldap/schema/duaconf.schema
include		/etc/openldap/schema/dyngroup.schema
include		/etc/openldap/schema/inetorgperson.schema
include		/etc/openldap/schema/java.schema
include		/etc/openldap/schema/misc.schema
include		/etc/openldap/schema/nis.schema
include		/etc/openldap/schema/openldap.schema
include		/etc/openldap/schema/ppolicy.schema
include		/etc/openldap/schema/collective.schema

# Allow LDAPv2 client connections.  This is NOT the default.
allow bind_v2

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral	ldap://root.openldap.org

pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

# Load dynamic backend modules
# - modulepath is architecture dependent value (32/64-bit system)
# - back_sql.la overlay requires openldap-server-sql package
# - dyngroup.la and dynlist.la cannot be used at the same time

#modulepath /usr/lib/openldap
# modulepath /usr/lib64/openldap

# moduleload accesslog.la
# moduleload auditlog.la
# moduleload back_sql.la
# moduleload chain.la
# moduleload collect.la
# moduleload constraint.la
# moduleload dds.la
# moduleload deref.la
# moduleload dyngroup.la
# moduleload dynlist.la
# moduleload memberof.la
# moduleload pbind.la
# moduleload pcache.la
# moduleload ppolicy.la
# moduleload refint.la
# moduleload retcode.la
# moduleload rwm.la
# moduleload seqmod.la
# moduleload smbk5pwd.la
# moduleload sssvlv.la
# moduleload syncprov.la
# moduleload translucent.la
# moduleload unique.la
# moduleload valsort.la

# The next three lines allow use of TLS for encrypting connections using a
# dummy test certificate which you can generate by running
# /usr/libexec/openldap/generate-server-cert.sh. Your client software may balk
# at self-signed certificates, however.
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password

# Sample security restrictions
#	Require integrity protection (prevent hijacking)
#	Require 112-bit (3DES or better) encryption for updates
#	Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
#	Root DSE: allow anyone to read it
#	Subschema (sub)entry DSE: allow anyone to read it
#	Other DSEs:
#		Allow self write access
#		Allow authenticated users read access
#		Allow anonymous users to authenticate
#	Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
#下面的控制权限的语句。
access to dn.subtree="ou=People,dc=bawo,dc=cn" attrs=userPassword,shadowLastChange
	by dn="cn=admin,dc=bawo,dc=cn" write
	by self write
	by anonymous auth
	by * read
#access to attrs=uid,uidNumber,gidNumber,memberUid
#	by * read

# if no access controls are present, the default policy
#
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

# enable on-the-fly configuration (cn=config)
database config

access to *
	by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
	by * none
# enable server status monitoring (cn=monitor)
database monitor
access to *
	by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=admin,dc=bawo,dc=cn" read
	by * none
#######################################################################
# database definitions
#######################################################################

database	bdb
suffix		"dc=XX,dc=cn"
checkpoint	1024 15
rootdn		"cn=admin,dc=XX,dc=cn"
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw		123456
# rootpw		{crypt}ijFYNcSNctBYg

# The database directory MUST exist prior to running slapd AND 
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory	/var/lib/ldap

# Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

添加完上面的语句后,然后需要更新这个配置文件到ldap的服务中。

service slapd stop
rm -rf /etc/openldap/slapd.d/
chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/
#测试并生成配置文件:
slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
#返回config file testing succeeded,则配置成功。
chown -R ldap:ldap /etc/openldap/slapd.d
service slapd restart

完成之后,就把LDAP的权限设置成功了。用户可以在phpLDAPadmin中自行修改自己的密码了。

其他设置项目可以自行探索。

其他权限设置参考

http://www.openldap.org/doc/admin24/access-control.html

slapd.conf文件配置

LDAP配置详细解释

时间: 2024-10-01 02:18:26

LDAP 用户更改自己的密码的相关文章

如何使用LDAP用户单点登录到Horizon桌面和应用

一直以来,Horizon View对MS AD的强依赖导致国内众多LDAP用户引进Horizon View变得非常困难.因为要部署Horizon View就一定要新建MS AD并且将LDAP的用户连同密码一起同步到MS AD里面.另外,用户在后续的使用中需要维护两套密码系统,这也是一个痛点.本文就给出一个解决这个问题方案. 该方案包括下面四个部分: 将LDAP的用户同步到MS AD里面.注意,本方案中只需要用户信息(比如用户名,upn,DN),不需要同步密码.在后续的使用过程中,如果LDAP里面

centos7下利用httpd2.4配置svn并使用Ldap用户认证

应用场景:Windows下有AD活动目录,类Unix系统下有Ldap,在运维开发工具平台逐步丰富的现在,统一用户管理大大便捷了管理人员. 其中不乏经典版本控制管理工具svn,与Ldap组合的用户认证方式. 测试环境: 配置步骤: 1. 安装相关软件  ~]# yum install httpd subversion mod_dav_svn mod_ldap 注:在CentOS7或RHEL7中,httpd版本为2.4:而且不在有mod_authz_ldap,该模块软件功能都已经整合到mod_lda

更改EBS APPS 密码流程

http://www.cnblogs.com/toowang/p/3584785.html 更改EBS APPS 密码流程 (更改完后重启APP 和DB)2008-1-4 在EBS11.5.10.2环境应用成功!  参考metalink Note:160337.1 How To Manually Change The APPS, APPLSYS and APPLSYSPUB Passwords in Oracle Applications  Note:159244.1 How To Use FN

eclipse svn 用户更改

摘抄整理,非原创,注册两年写的第一篇,我是有多懒... 在Eclipse中修改好项目的代码后要提交到svn上去,不想以现在默认的用户名提交,想修改提交代码的用户名,但原来的用户已经被设为默认提交的用户了,也就是记住了svn的用户名和密码,而在Eclipse里面也没有选项来更改svn用户名来进行代码的提交,那该如何是好,如何来取消记住用户名,如下: Window xp C:\Documents and Settings\Administrator(这是你的电脑用户名)\Application Da

Windows2008server R2 组策略批量更改本地管理员密码

Windows2008域组策略批量更改本地管理员密码 1,打开域策略管理器. 2,在组策略对象下面新建一个组策略对象:如:Local_Root 3,接着在Local_Root右键点击编辑这个组策略. 4,在Local_Root编辑器下"用户配置"下面的"本地用户和组"点击新建"用户"或者"用户组",我在此处选的是本地用户,内置Administrator并且重命名为Admin. 5,剩下就是在组策略里面生效,你如果想快点生效需要

使用单用户模式破解Linux密码

使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击Esc按键,进入如下界面 3.按字母小e进入如下编辑模式 4.选择第二个选项,然后再次单击字母小e 更改完成后,单击回车,如下图所示: 5.单击字母小b,重启操作系统,进入如下界面 在#号后面,输入passwd root(重置root管理员密码) 6.设置完成后,使用reboot指令重启操作系统,使

如和单用户模式破解root密码&救援模式破解root密码

学了几天Linux,终于到了装逼时刻,看看如何破译别人的root密码,哈哈哈哈..... 单用户模式破解root密码 重置Centos 7 Root密码的方式 step1 - 在启动grub菜单,选择编辑选项启动 step2 - 按键盘e键,来进入编辑界面 Step3 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh Step4 现在按下 Control+x ,使用单用户模式启动 Step5  chroot /sysroot Step6 passed roo

更改Oracle数据库密码导致vcenter服务无法启动

一.背景介绍 某企业生产环境中采用一台Windows2008R2物理服务器安装vCenter Server 5.5和Oracle 11g数据库,VC使用system账户连接Oracle数据库.安装之初对密码合规性没有明确规定,随意设置了该服务器administrator和Oracle的system账户密码,后期要求对这两个账户密码按要求进行整改. 二.问题及排查过程 当更改完administrator和oracle的system账户密码后,重启服务器,发现vcenter服务无法启动,手动启动出现

exchange online禁止用户通过OWA修改密码

我们都知道,exchange online的用户通过登录OWA,在OWA选项中是可以更改自己帐户的密码的,如下图: 如果我们做了ADFS单点登录,修改密码时会提示无法修改:但是如果我们只是做了:带密码的目录同步AAD,通过此处修改密码会有1个问题,当用户通过OWA修改密码后,本地域帐户的密码和通过AAD同步到Office 365的密码就是2套密码了,举个例子:加域的PC使用此域帐户登录的时候,使用的密码还是之前的密码,而登录Office 365的时候所使用的密码已经变为我们通过OWA修改的密码了