java修改ldap用户密码_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.

#referralldap://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

#######################################################################

databasebdb

suffix"dc=XX,dc=cn"

checkpoint1024 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.

rootpw123456

# 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中自行修改自己的密码了。

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

其他权限设置参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值