设为首页 收藏本站
查看: 1211|回复: 0

[经验分享] RedHat Enterprise 5.1下OpenLDAP的配置及PAM&NSS的配置

[复制链接]

尚未签到

发表于 2018-5-12 12:31:11 | 显示全部楼层 |阅读模式
  服务器端 192.1.0.160
  
客户机端 192.1.0.221
  

  
一、在服务器端配置LDAP服务:
  
1.下载 openldap-2.4.11.tar.gz和db-4.7.25.tar.gz
  

  
2.安装BerkeleyDB

#rpm -qa|grep db  
# tar xvf db
-4.7.25.tar.gz  
# cd db_4.
7.25  
# cd build_unix
/  
# ..
/dist/configure -prefix=/usr/local/BerkeleyDB  
# make
  
# make install
  

  安装完成后执行
  

#cp /usr/local/BerkeleyDB/include/* /usr/include/  
#cp /usr/local/BerkeleyDB/lib/* /usr/lib/
  可避免如下错误:
  

  checking   Berkeley   DB   version   for   BDB/HDB   backends...   no
  

  configure:   error:   BDB/HDB:   BerkeleyDB   version   incompatible
  

  

  3.安装OpenLDAP

#gunzip -c openldap-2.4.15.tgz | tar xvfB -  
#cd openldap
-2.4.15/  
#.
/configure --prefix=/usr/local/openldap  
#make depend
  
#make
  
#make install
  

  4.启动LDAP服务
  

#cd /usr/local/openldap/libexec  
#.
/slapd  

  5.测试LDAP服务是否正常启动
  


DSC0000.gif #ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts  返回
  

  dn:
  

  

  namingContexts: dc=my-domain,dc=com
  

  则说明正常启动
  

  

  6.正常关闭LDAP服务
  

#kill -INT `cat /usr/local/openldap/var/run/slapd.pid`  

  7.日志配置
  

  日志级别是累加的:296 = 256 日志连接/操作/结果 + 32 搜索过滤器处理 + 8 连接管理:
  

  文件slapd.config中添加:
  

  loglevel 296
  

  日志信息会被记录到 syslogd LOG_LOCAL4 机制中。还需要将下面的内容添加到 /etc/syslog.conf 中:

local4.debug /var/log/slapd.log  

  重启syslog服务
  

service syslog restart  

  在/var/log/slapd.log中即可查看ldap的日志信息。
  

  

  二、客户机端制作账号迁移脚本
  

  IBM的《使用 OpenLDAP 集中管理用户帐号》指出RedHat Enterprise 版本会自带
  

  openldap-server、openldap-client和一些账号移植的脚本
  

  但是在内网160和我昨天在虚拟机上装的RedHat上却没有找到相关文件。
  

  今天又在虚拟机上装了一个,发现默认安装并不包括这些,需要定制安装:
  

  在光盘安装过程中有个界面让选择默认安装还是定制安装,选择“定制安装”,下一步,勾选如下软件包:
  

  
开发--开发库
  
openldap-devel-2.3.27
  
perl-ldap
  
perl-mozllla-ldap
  服务器——网络服务器
  
openldap-servers-2.3.27
  基本系统——系统工具
  
openldap-client-2.3.27
  基本系统——老的软件支持
  
compat-db
  
compat-openldap
  安装完成后,就可以找到移植脚本和LDAP的一些文件了。
  

  

  迁移密码和 shadow 信息
  Red Hat 所提供的 openldap-servers 包包含 PADL Software Pty Ltd. 公司的  MigrationTools 工具。我们将使用这些工具将数据从 Linux 系统文件(例如 /etc/group 和  /etc/password)转换成 LDAP LDIF 格式,这是数据库信息的一种文本格式的表示。这种格式是行界定、冒号分隔的属性-值对。
  有一组 Perl 脚本被安装到 /usr/share/openldap/migration/ 中执行迁移。这些 Perl  脚本的配置信息包含在 migrate_common.ph  文件的开头。对于我们的目的来说,只需要修改命名前缀的变量来使用条目的识别名就足够了,如下所示:
  $DEFAULT_BASE = "dc=mydomain,dc=com"
  在进行这些修改之后,请运行脚本 migrate_base.pl,它会创建根项,并为 Hosts、Networks、Group 和 People 等创建低一级的组织单元:
  
运行 migrate_base.pl
  

  

# ./migrate_base.pl > base.ldif  

  

  

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

  

# cat base.ldif  
dn: dc=mydomain,dc=com
  
dc: ibm
  
objectClass: top
  
objectClass: domain
  
dn: ou=People,dc=ibm,dc=com
  
ou: People
  
objectClass: top
  
objectClass: organizationalUnit
  
dn: ou=Group,dc=ibm,dc=com
  
ou: Group
  
objectClass: top
  
objectClass: organizationalUnit
  

  

  

  在 LDAP 服务器上,使用 OpenLDAP 客户机工具 ldapadd 将以下条目插入到数据库中。简单身份验证必须要使用 -x 选项指定。在 slapd.conf 中定义的 rootdn 身份验证识别名是 “cn=Manager,dc=mydomain,dc=com”。对于简单身份验证来说,必须使用密码。选项 -W 强制提示输入密码。这个密码就是在 slapd.conf 文件中指定的 rootpw 参数的值。包含这些条目的 LDIF 文件是使用 -f 选项指定的:
  
使用 ldapadd 插入条目
  

  

# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f base.ldif  

  

  

  接下来,从 /etc/group 中迁移 ldapuser 组:
  
迁移 ldapuser 组
  

  

# grep ldapuser /etc/group > group.in  # ./migrate_group.pl group.in > group.ldif
  #  cat group.ldif
  
dn: cn=ldapuser,ou=Group,dc=mydomain,dc=com
  
objectClass: posixGroup
  
objectClass: top
  
cn: ldapuser
  
userPassword: {crypt}x
  
gidNumber: 500
  
# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f group.ldif
  

  

  

  最后,从 /etc/passwd 和 /etc/shadow 中迁移 ldapuser 的信息:
  
迁移 ldapuser 信息
  

  

# grep ldapuser /etc/passwd > passwd.in  # ./migrate_passwd.pl passwd.in > passwd.ldif
  # cat passwd.ldif
  
dn: uid=ldapuser,ou=People,dc=mydomain,dc=com
  
uid: ldapuser
  
cn: ldapuser
  
objectClass: account
  
objectClass: posixAccount
  
objectClass: top
  
objectClass: shadowAccount
  
userPassword: {crypt$1$TeOlOcMc$cpQaa0WpLSFRC1HIHW5bt1
  
shadowLastChange: 13048
  
shadowMax: 99999
  
shadowWarning: 7
  
loginShell: /bin/bash
  
uidNumber: 500
  
gidNumber: 500
  
homeDirectory: /home/ldapuser
  
gecos: ldapuser
  
# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f passwd.ldif
  

  

  

  三、客户机端配置NSS&PAM
  

  参考IBM《使用 OpenLDAP 集中管理用户帐号》

配置 LDAP 客户机  部分
  

  方法1 图形界面配置
  


authconfig-tui  方法2 修改配置文件
  

  /etc/ldap.conf、/etc/nsswitch.conf、/etc/sysconfig/authconfig 和/etc/pam.d/system-auth
  

  我的/etc/pam.d/system-auth的配置如下:
  


#%PAM-1.0  
# This file is auto
-generated.  
# User changes will be destroyed the next time authconfig is run.
  
auth        required      pam_env.so
  
auth        sufficient    pam_unix.so nullok try_first_pass
  
auth        requisite     pam_succeed_if.so uid
>= 500 quiet  
auth        sufficient    pam_ldap.so use_first_pass
  
auth        required      pam_deny.so
  

  
account     required      pam_unix.so broken_shadow
  
account     sufficient    pam_localuser.so
  
account     sufficient    pam_succeed_if.so uid
< 500 quiet  
account     [
default=bad success=ok user_unknown=ignore] pam_ldap.so  
account     required      pam_permit.so
  

  
password    requisite     pam_cracklib.so try_first_pass retry
=3  
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
  
password    sufficient    pam_ldap.so use_authtok
  
password    required      pam_deny.so
  

  
session     optional      pam_keyinit.so revoke
  
session    required    pam_mkhomedir.so skel
=/etc/skel/ umask=0022  
session     required      pam_limits.so
  
session     [success
=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid  
session     required      pam_unix.so
  
session     optional      pam_ldap.so
  一点说明:pam_mkhomedir.so 负责用户初次登陆没有home目录时为其创建home目录。没有这项配置的话,新用户登陆可能会报/home目录找不到的错误。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-459119-1-1.html 上篇帖子: RAC推存指导 安装手册 10g for redhat4 下篇帖子: redhat 5.4 安装oracle 10g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表