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

[经验分享] Centos 6.5 搭建openldap

[复制链接]

尚未签到

发表于 2018-4-22 16:23:20 | 显示全部楼层 |阅读模式
  1、安装openldap(版本openldap-2.4.40-16.el6.x86_64)

$ yum install -y openldap openldap-servers openldap-clients openldap-devel
# 启动openldap
$ /etc/init.d/openldap start  

  2、配置前准备
# openldap配置文件
$ ls /etc/openldap/
certs  check_password.conf  ldap.conf  schema  slapd.d
# 复制服务端配置文件
$ cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
# 备份配置文件
$ cp -a /etc/openldap/slapd.d{,.bak} && rm -rf /etc/openldap/slapd.d/*
# 重新生成/etc/openldap/slapd.d/下的文件
$ slaptest -u
$ slaptest -f /etc/openldap/slapd.conf  -F /etc/openldap/slapd.d
$ chown -R ldap.ldap /etc/openldap/slapd.d  

  3、配置openldap
# openldap的配置文件为slapd.conf
# 先生成ldap的admin的密码
$ slappasswd -s 123456
{SSHA}4l73bzaYLHmgnfof5uEmA6G9LaCy+h8S
# 修改slapd.conf
$ egrep -v "#|^$" /etc/openldap/slapd.conf
  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 bind_v2
  pidfile/var/run/openldap/slapd.pid
  argsfile/var/run/openldap/slapd.args
  TLSCACertificatePath /etc/openldap/certs
  TLSCertificateFile "\"OpenLDAP Server\""
  TLSCertificateKeyFile /etc/openldap/certs/password
  # 数据库配置,供测试使用
  database config
  access to *
  by self write
  by anonymous auth
  by * read
  databasebdb
  # 设置域和组织名称
  suffix"dc=example,dc=com"
  checkpoint1024 15
  # 设置管理员账号和密码
  rootdn"cn=admin,dc=example,dc=com"
  rootpw{SSHA}4l73bzaYLHmgnfof5uEmA6G9LaCy+h8S
  directory/var/lib/ldap
  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  

  4、启动openldap
$ /etc/init.d/openldap restart
# 查看端口已启动
$ ss -tnl | grep 389
LISTEN     0      128                      :::389                     :::*     
LISTEN     0      128                       *:389                      *:*  

  5、添加用户和组
# 安装migrationtools软件包(将本地用户写入openldap可读的ldif文件)
$ yum install migrationtools -y
# 软件路径
$ ls /usr/share/migrationtools
migrate_aliases.pl              migrate_all_nisplus_offline.sh  migrate_base.pl    migrate_netgroup_byhost.pl  migrate_profile.pl
migrate_all_netinfo_offline.sh  migrate_all_nisplus_online.sh   migrate_common.ph  migrate_netgroup_byuser.pl  migrate_protocols.pl
migrate_all_netinfo_online.sh   migrate_all_offline.sh          migrate_fstab.pl   migrate_netgroup.pl         migrate_rpc.pl
migrate_all_nis_offline.sh      migrate_all_online.sh           migrate_group.pl   migrate_networks.pl         migrate_services.pl
migrate_all_nis_online.sh       migrate_automount.pl            migrate_hosts.pl   migrate_passwd.pl           migrate_slapd_conf.pl
# 修改域名
$ vim /usr/share/migrationtools/migrate_common.pl
  71 $DEFAULT_MAIL_DOMAIN = "example.com";
  74 $DEFAULT_BASE = "dc=example,dc=com";
# 生成base.ldif文件并导入到ldap中
$ /usr/share/migrationtools/migrate_base.pl > base.ldif
$ cat base.ldif
  1 dn: dc=example,dc=com
  2 dc: example
  3 objectClass: top
  4 objectClass: domain
  5
  6 dn: ou=People,dc=example,dc=com
  7 ou: People
  8 objectClass: top
  9 objectClass: organizationalUnit
10
11 dn: ou=Group,dc=example,dc=com
12 ou: Group
13 objectClass: top
14 objectClass: organizationalUnit
# 把修改好的base.ldif导入到ldap中,通过使用ldapadd命令来完成
$ ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=example,dc=com"
adding new entry "ou=People,dc=example,dc=com"
adding new entry "ou=Group,dc=example,dc=com"
# 新建用户test并设置密码
$ useradd test
$ passwd test
# 生成people.ldif和group.ldif
$ grep test /etc/passwd > test_people
$ grep test /etc/group > test_group
$ /usr/share/migrationtools/migrate_passwd.pl test_people > people.ldif
$ /usr/share/migrationtools/migrate_group.pl test_group > group.ldif
# 查看生成的文件
$ cat people.ldif
  dn: uid=test,ou=People,dc=example,dc=com
  uid: test
  cn: test
  objectClass: account
  objectClass: posixAccount
  objectClass: top
  objectClass: shadowAccount
  userPassword: {crypt}!!
  shadowLastChange: 17281
  shadowMin: 0
  shadowMax: 99999
  shadowWarning: 7
  loginShell: /bin/bash
  uidNumber: 500
  gidNumber: 500
  homeDirectory: /home/test
$cat group.ldif
  dn: cn=test,ou=Group,dc=example,dc=com
  objectClass: posixGroup
  objectClass: top
  cn: test
  userPassword: {crypt}x
  gidNumber: 500

# 导入ldif文件到ldap中
$ ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f people.ldif
Enter LDAP Password:
adding new entry "uid=test,ou=People,dc=example,dc=com"
$ ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f group.ldif
Enter LDAP Password:
adding new entry "cn=test,ou=Group,dc=example,dc=com"
# 查看
$ ldapsearch -x -D "cn=admin,dc=example,dc=com" -W -b "dc=example,dc=com"
Enter LDAP Password:
  # extended LDIF
  #
  # LDAPv3
  # base <dc=example,dc=com> with scope subtree
  # filter: (objectclass=*)
  # requesting: ALL
  #
  # example.com
  dn: dc=example,dc=com
  dc: example
  objectClass: top
  objectClass: domain
  # People, example.com
  dn: ou=People,dc=example,dc=com
  ou: People
  objectClass: top
  objectClass: organizationalUnit
  # Group, example.com
  dn: ou=Group,dc=example,dc=com
  ou: Group
  objectClass: top
  objectClass: organizationalUnit
  # test, People, example.com
  dn: uid=test,ou=People,dc=example,dc=com
  uid: test
  cn: test
  objectClass: account
  objectClass: posixAccount
  objectClass: top
  objectClass: shadowAccount
  userPassword:: e2NyeXB0fSEh
  shadowLastChange: 17281
  shadowMin: 0
  shadowMax: 99999
  shadowWarning: 7
  loginShell: /bin/bash
  uidNumber: 500
  gidNumber: 500
  homeDirectory: /home/test
  # test, Group, example.com
  dn: cn=test,ou=Group,dc=example,dc=com
  objectClass: posixGroup
  objectClass: top
  cn: test
  userPassword:: e2NyeXB0fXg=
  gidNumber: 500
  # search result
  search: 2
  result: 0 Success
  # numResponses: 6
  # numEntries: 5  
  现已将创建的test用户导入到ldap中
  

  openldap客户端搭建:http://jerry12356.blog.51cto.com/4308715/1851933
  其中遇到一个小问题,在“8、使用authconfig命令启动nslcd”后仍然不能通过su命令进行切换,显示没有家目录,这时候,再重新执行“5、配置/etc/pam.d/system-auth”就可以解决。

运维网声明 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-450588-1-1.html 上篇帖子: centos6.8安装zabbix2.4 下篇帖子: centos 安装zookeeper
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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