OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx

上传人:b****4 文档编号:7754034 上传时间:2023-05-09 格式:DOCX 页数:15 大小:23.66KB
下载 相关 举报
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第1页
第1页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第2页
第2页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第3页
第3页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第4页
第4页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第5页
第5页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第6页
第6页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第7页
第7页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第8页
第8页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第9页
第9页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第10页
第10页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第11页
第11页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第12页
第12页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第13页
第13页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第14页
第14页 / 共15页
OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx

《OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。

OpenLDAP集中管理用户帐号学习笔记Word文档下载推荐.docx

  local4.debug/var/log/slapd.log

  #上面两行定义了ldap服务器执行的日志

  accesstoattrs=shadowLastChange,userPassword

byselfwrite

by*auth

  accessto*

by*read

  #access行定义了谁可以访问目录中的内容。

我们希望用户可以修改自己的密码,并更新自己的shadow信息来反映密码的变化。

希望身份验证程序能够检索用户的密码。

还希望用户能够读取所有其他条目。

注意密码条目是不可读的,shadow属性的惟一用处就是管理密码的过期问题。

  二、配置ldap服务器的数据库:

  修改文件/etc/openldap/slapd.conf的以下行:

  database 

bdb

  suffix 

"

dc=my-domain,dc=com"

  rootdn 

cn=Manager,dc=my-domain,dc=com"

  把my-domain改为你的“域名”,本文中并不需要真正的域名,只是ldap的一个容器,但为了ldap的其他服务,建议用你的真实域名。

  这里定义了ldap的数据库和管理者。

  这里还需要一个管理员密码,加入下面这行(密码111111):

  rootpw{MD5}lueSGJZetyySpUndWjMBEg==

  密码可以用slappasswd命令生成,slappasswd-h{MD5}

  OK,ldap服务器配置完成了,可以重新启动一下ldap服务器了。

  三、将用户账户信息添加到ldap数据库

  RedhatEnterpriceLinux4自带了一组perl脚本来转换本地用户的信息。

  相关工具也可以到

  这些脚本默认位于/usr/share/openldap/migration/下

  修改migrate_common.ph文件,我们的目的来说,只需要修改命名前缀的变量来使用条目的识别名就足够了,如下所示:

  $DEFAULT_BASE="

  然后执行:

  migrate_base.pl>

base.ldif

  这是创建根项,并为Hosts、Networks、Group和People等创建第一级的组织单元(OU)

  编辑base.ldif,删除除下面之外的所有条目:

  dn:

dc=my-domain,dc=com

  dc:

my-domain

  objectClass:

top

domain

ou=People,dc=my-domain,dc=com

  ou:

People

organizationalUnit

ou=Group,dc=my-domain,dc=com

Group

  执行:

  grepldapuser/etc/group>

group.ldapuser.in

  ./migrate_group.plgroup.ldapuser.in>

group.ldapuser.ldif

  导出ldapuser组的信息,以同样方式到处其他组的信息

  grepldapuser/etc/passwd>

passwd.ldapuser.in

  ./migrate_passwd.plpasswd.ldapuser.in>

passwd.ldapuser.ldif

  可以复制passwd文件为passwd.in后将passwd.in中系统自带的用户删除后作为脚本的输入参数,这样可以一次转换所有用户。

不建议将系统自带用户导入ldap,这样做的好处是万一在ldap认证出现问题的情况下不至于连root账户也不能登录。

  做完账户信息转换后即可以导入ldap数据了,执行:

  ldapadd-x-D"

-W-fbase.ldif

-W-fgroup.ldif

-W-fpasswd.ldif

  这里的group.ldif和passwd.ldif对应的你的组信息和用户信息的文件,注base.ldif必须最先导入。

  四、配置系统使用ldap认证系统用户

  使用authconfig命令配置:

注若使用RHEL5.x或CentOS5.x则使用setup命令,然后选择“AuthenticationConfiguratio”

  把以下选项选上:

  UseLDAP

  UseMD5Passwords

  UseShadowPasswords

  UseLDAPAuthentication

  Localauthorizationissufficient(如果有此项)

  选择下一步:

  请勿选择使用TLS!

  输入ldap服务器地址或主机名,若有一台以上ldap服务器则用空格隔开。

  输入basedn:

dc=my-domain,dc=com(参考base.ldif文件)

  将passwd、shadow、以及group文件备份后清除已经导入的用户信息,再用id命令测试一下,确认用户信息正确。

  OK!

大功告成!

  其他客户机只需执行行本文第四步即可!

  注1:

若ldap服务器使用主机名,客户端必需能解析到该主机!

  注2:

添加新用户可以先建立本地用户再参照本文第四步操作,加入ldap后再删除本地用户。

  注3:

若用户非数据库高手,编辑用户或组信息请务必使用ldapmodify命令,本人曾使用ldapphpadmin修改ldap数据库,结果,呵呵!

  注4:

(2009-02-09)在RHEL5.x和CentOS5.x上执行启动ldap服务时会报错"

bdb_db_open:

Warning-NoDB_CONFIGfilefoundindirectory/var/lib/ldap"

,该错误不影响ldap验证服务;

若一定要解决,执行以下命令即可:

cp/etc/openldap/DB_CONFIG.example/var/lib/ldap/DB_CONFIG;

chownldap:

ldap/var/lib/ldap/DB_CONFIG

更新2009-1-20

添加管理用户帐号的脚本:

文本写了一个简单的创建用户帐号的脚本方便帐号管理。

文中以中文和"

#"

开头的是注释和说明:

注,编辑脚本时别忘了把“#!

/bin/sh”放在脚本文件的首行!

#!

/bin/sh

### 

Inputtheuseraccount

if["

$1"

="

"

];

then

printf"

Pleaseinputtheuseraccount:

readans1

user=$ans1

echo 

\n"

else

user=$1

fi

#提示用户输入用户名赋值给变量user

makesuretheusernameisunique

existuser=`id$ans12>

/dev/null`

while["

$existuser"

!

="

]

do

echo"

user$useralreadyexist!

Pleaseinputanotherusername:

readans3

user=$ans3

done

检查输入的用户名是否唯一,如果已经存在则提示用户再次输入用户名并赋值给变量user

###addinguser

useradd-ggroup1-d/NFS/user/$user-m$user

passwd$user

#在本地文件里添加用户并设定用户密码,

#注1、这里的group1是指定默认组的组名,请自行更改

#注2、这里的/NFS/user/是从远程主机上mount过来的,用于配合automount服务并统一用户主目录使用,请自行更改

#注3、-m选项是当指定的用户主目录不存在时自动创建该目录,在大多数情况下这是默认选项,即不加该选项,系统会自动加上

sed-i"

s/\/NFS\/user\/$user/\/home\/$user/g"

/etc/passwd

cd/ldapsettings/

grep$user/etc/passwd>

newuser.in

/usr/share/openldap/migration/migrate_passwd.plnewuser.in>

newuser.ldif

ldapadd-x-D"

cn=Manager,dc=dam,dc=com"

-w1234567-f/ldapsettings/newuser.ldif

rm-f/ldapsettings/newuser.in

rm-f/ldapsettings/newuser.ldif

sed-i'

/$user\:

/d'

/etc/shadow

#修改用户的home目录,并将本地的帐号信息导入ldap数据库,删除临时文件,删除本地用户验证信息

更新2009-2-3

一直在网上找用ldap验证samba的文章。

很多,但是都需要加入域,配置很麻烦,而且,samba毕竟和windows的域有太大差别了!

下文的配置其实只是让samba读取ldap数据库来代替读取sampasswd文件,仅此而已!

本文参考了下文,做了适当修改,并在CentOS4.X和CentOS5.X上测试成功:

使用openldap目录服务进行samba用户验证

  samba可把用户信息存放到ldap目录服务器上,使用目录服务器上的用户数据进行用户验证。

这样做的好处是:

    1. 集中存放用户信息,多台Samba服务器可共用一套用户数据。

    2. 当用户数量多时,采用ldap目录服务器可加快用户验证的速度。

因为ldap目录服务是专门为读操作而优化的,搜索数据的速度是非常快的。

    3. 用户可自由更改自已的密码,而不用经过系统管理员,可大大减轻系统管理员的工作量。

一、配置ldap服务

  要openldap能认识samba的用户信息,我们需在openldap服务器中导入samba.schema。

该文件是不包含在openldap源码中的,我们可在samba源码目录中的/examples/LDAP路径中找到该文件。

把它拷贝到openldap的schema目录。

接着编辑slapd.conf文件,用include指令把samba.schema导入openldap。

如:

到这里下载samba的源码包:

http:

//us1.samba.org/samba/

#Seeslapd.conf(5)fordetailsonconfigurationoptions.

#ThisfileshouldNOTbeworldreadable.

include 

/etc/openldap/schema/core.schema

/etc/openldap/schema/cosine.schema

/etc/openldap/schema/inetorgperson.schema

/etc/openldap/schema/nis.schema

#include 

/etc/openldap/schema/redhat/autofs.schema

/etc/openldap/schema/samba.schema 

#导入samba.schema文件

#AllowLDAPv2clientconnections. 

ThisisNOTthedefault.

allowbind_v2

  重启ldap服务,使配置生效。

[root@linux5~]#serviceldaprestart

Stoppingslapd:

OK 

]

Checkingconfigurationfilesforslapd:

configfiletestingsucceeded

Startingslapd:

二、配置samba服务

  下来我们要配置samba服务器了。

打开smb.conf文件,添加以下内容:

#Youmaywishtousepasswordencryption.PleasereadENCRYPTION.txt,

#Win95.txtandWinNT.txtintheSambadocumentation.Donotenablethis

#optionunlessyouhavereadthosedocuments

security=user 

#如果原来不是user,请改成user,因为我原来用的是share

encryptpasswords=yes

;

passdbbackend=smbpasswdguest 

#取消smbpasswd验证

ldapadmindn="

#指定管理员,请参考slapd.conf文件

passdbbackend=ldapsam:

ldap:

//192.168.0.7 

#指定用户验证的ldap目录服务器的IP地址或主机名

ldapusersuffix=dc=samba,dc=my-domain,dc=com 

#用户信息存放的目录路径

ldapdeletedn=no 

#不允许删除dn

ldapsuffix=dc=my-domain,dc=com 

#指定搜索后缀

  存盘退出,重启smb服务。

运行以下命令,把cn=Manager,dc=my-domain,dc=com管理员的密码“123456”保存到secrets.tdb文件中,以便samba服务器与openldap服务器进行通信。

[root@linux5~]#servicesmbrestart

ShuttingdownSMBservices:

ShuttingdownNMBservices:

StartingSMBservices:

StartingNMBservices:

[root@linux5~]#smbpasswd-w123456

Settingstoredpasswordfor"

insecrets.tdb 

#成功保存的提示信息

  千万注意!

这里的密码“123456”,就是slapd.conf文件里指定的管理员的密码!

  配置完成,使用smbpasswd命令就可把用户信息保存到ldap目录服务器上了。

[root@linux5~]#smbpasswd-adwang

NewSMBpassword:

RetypenewSMBpassword:

Addeduserdwang. 

#成功添加用户

三、设定ldap服务来维护samba帐号

  到此为止,使用ldap目录服务器进行Samba用户验证已配置完成。

但现在还是要管理员在samba服务器上使用smbpasswd命令为用户维护密码。

从维护工作量和保密的角度出发,由用户自已维护自已的密码是一种最好的方法。

具体设置方法是这样的:

  通过目录服务器的权限管理,我们也可把test用户密码属性设置成只有dn是cn=dwang,dc=samba,dc=it,dc=com的用户和目录服务器管理员才能修改。

要达到该项果,请把以下ACL加入到slapd.conf中。

accesstoattrs=sambaLMPassword

bydn="

cn=Manager,dc=newavetech,dc=com"

write

byanonymousauth

by*none

accesstoattrs=sambaNTPassword

  重启openldap服务器使配置生效。

  用smbpasswd命令就能修改用户的密码了,不过别忘了原始密码,否则又得劳驾管理员了!

  根据密码复杂度要求,用户自己设的密码至少要有6位,以root权限执行没此要求。

(2009-02-11)

偶然发现了一款LDAP的管理工具LDAPAccountManager,主页在:

因为我使用的是CentOS5.2,直接下载rpm包安装:

ldap-account-manager-2.5.0-0.fedora.1.noarch.rpm

安装需求:

LAM是用php编写的,基于web管理。

所以apache、php是不能少的,还需要个别的rpm包稍后介绍,只要你有CentOS的光盘就无需担心。

一、安装LAM

#rpm-ivhldap-account-manager-2.5.0-0.fedora.1.noarch.rpm

安装完后在文件夹/var/www/html/下会有一个lam文件夹。

#cd/var/www/html/lam/config

#cpcpconfig.cfg_sampleconfig.cfg

#cplam.conf_sampleldapserver1.conf

说明:

1、config.cfg是LAM的通用配置文件

2、ldapserver1.conf是LAM的服务器配置文件,如果你有多台ldap服务器就需要多复制几个文件,例如:

#cplam.conf_sampl

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2