openldap 单节点编译安装

1、获取源码包

#下载Berkeley DB
www.oracle.com/technetwork/database/database-technologies/berkeleydb/
#下载OpenLDAP
www.openldap.org/software/download
#安装依赖
yum install openssl-devel gcc libtool-ltdl-devel

2、编译安装Berkeley DB

#解压
tar zxvf db-5.3..tar.gz
cd db-5.3.
#编译
cd build_unix/
../dist/configure --prefix=/usr/local/bd-5.3.
make && make install

3、编译安装openldap

#解压
tar zxvf openldap-2.4..tgz
cd openldap-2.4.
#编译
./configure --prefix=/usr/local/openldap --enable-wrappers --enable-syslog --enable-modules --with-tls=openssl CPPFLAGS="-I/usr/local/bd-5.3.28/include" LDFLAGS="-L/usr/local/bd-5.3.28/lib -Wl,-rpath,/usr/local/bd-5.3.28/lib" make && make install

4、修改配置

cd /usr/local/openldap/etc/openldap &&  mv DB_CONFIG.example  DB_CONFIG
cd /usr/local/openldap/var/openldap-data && mv DB_CONFIG.example DB_CONFIG
ln -s /usr/local/openldap/bin/* /usr/bin/
ln -s /usr/local/openldap/sbin/* /usr/sbin/
#启动
/usr/local/openldap/libexec/slapd

Yum安装方式

yum install openldap-servers openldap-clients

服务端初始化

cn=config语法 (语法严格“:”后必须有空格,每行必须没有空格)

dn:
changetype: modify
add/delete/replace:
olcRootPW: ********
objectClass:

1、设置Openldap-server的管理密码:

命令:slappasswd
slapdpasswd:
{SSHA}KLfXV8ipw55AY0bwcZGDZX7JQENgUaWs

2、创建密码:

cat << EOF | ldapadd -Y EXTERNAL -H ldapi:///
dn: olcDatabase={}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}l9gQmGTK9TsC7SUQpVOpm/aimoYYdPd3
EOF

3、导入常用的schema文件:

ldapadd -Y EXTERNAL  -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif

4、设置域名:

cat << EOF | ldapadd -Y EXTERNAL -H ldapi://
dn: olcDatabase={}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=Manager,dc=suixingpay,dc=com" read by * none dn: olcDatabase={}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=suixingpay,dc=com dn: olcDatabase={}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=suixingpay,dc=com dn: olcDatabase={}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}KLfXV8ipw55AY0bwcZGDZX7JQENgUaWs
EOF

5、设置组织架构

cat << EOF | ldapadd -x -D cn=Manager,dc=suixingpay,dc=com -W
dn: dc=suixingpay,dc=com
objectClass: dcObject
objectClass: organization
dc: suixingpay
o: suixingpay.com dn: ou=研发中心,dc=suixingpay,dc=com
objectClass: organizationalUnit
objectClass: top
ou: 研发中心 dn: ou=运维部,ou=研发中心,dc=suixingpay,dc=com
objectClass: organizationalUnit
objectClass: top
ou: 运维部 dn: cn=Manager,dc=suixingpay,dc=com
objectClass: organizationalRole
cn: Manager dn: cn=应用运维组,ou=运维部,ou=研发中心,dc=suixingpay,dc=com
objectClass: posixGroup
cn: 应用运维组
gidNumber:
EOF

6、添加用户

cat << EOF | ldapadd -x -D cn=Manager,dc=suixingpay,dc=com -W
dn: uid=zhai_kun,ou=运维部,ou=研发中心,dc=suixingpay,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
homeDirectory: /home/zhai_kun
userPassword: {SSHA}l9gQmGTK9TsC7SUQpVOpm/aimoYYdPd3
loginShell: /bin/bash
cn: 应用运维组
uidNumber:
gidNumber:
sn: System Administrator
mail: zhai_kun@suixingpay.com
postalAddress: beijing
mobile:
EOF

centons 7 客户端部署

1、安装

yum install nss-pam-ldapd -y

2、authconfig备份还原

authconfig --savebackup=openldap.bak (备份)

authconfig --restorebackup=openldap.bak (还原)

3、配置

authconfig  --enableldap  --enableldapauth --ldapserver=ldap://172.16.138.87  --disableldaptls --enablemkhomedir  --ldapbasedn="dc=suixingpay,dc=com" --update

4、验证

id zhai_kun
getent passwd zhai_kun
getent shadow zhai_kun

5、登录

[root@openldap02 ~]# ssh zhai_kun@172.16.138.88
The authenticity of host '172.16.138.88 (172.16.138.88)' can't be established.
ECDSA key fingerprint is dc:b1:7f:2e::::6d:5d::d6:c7:8b:5c:a6:.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.138.88' (ECDSA) to the list of known hosts.
zhai_kun@172.16.138.88's password:
Last login: Wed Jun :: from 172.16.40.86
/usr/bin/id: cannot find name for group ID
[zhai_kun@openldap02 ~]$

Centos7安装Openldap初级篇的更多相关文章

  1. CentOS7安装OpenLDAP+MySQL+PHPLDAPadmin

    安装环境:CentOS 7 1.安装和设置数据库 在CentOS7下,默认安装的数据库为MariaDB,属于MySQL数据库的一个分支,所以我还是使用了MariaDB.安装命令为: [root@loc ...

  2. Centos7安装OpenLDAP

    https://www.cnblogs.com/zhaijunming5/p/9522756.html

  3. NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者

    NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...

  4. Maven安装及使用-超级图文初级篇-

    针对新手刚接触maven,并且不知道如何去搭建和使用maven,那么我来写一篇浅显易懂的初级篇教程吧. 不同的是,别人会先将概念再安装,我来帮大家先搭建好以后再去看概念,不然概念会变的很模糊. 安装: ...

  5. Centos7下安装OpenLDAP+Phpldapadmin及主主同步

    1.环境介绍及初始化准备 server1:172.16.138.87 openldap01 server2:172.16.138.88 openldap02 配置yum源 wget -O /etc/y ...

  6. Centos7 下Yum安装OpenLdap

    网上的教程一大堆,也没用具体说明版本,所以很多操作方法都不一样,把我踩过的坑记录下来 环境: Centos7 OpenLdap 2.4.44 openldap新版本和老版本的配置方法差别特别大 安装步 ...

  7. Centos7 yum安装OpenLDAP(普通用户可以更改密码)

    环境 系统版本:centos7.4 openldap版本2.4 安装和配置 安装并启动服务 安装: yum install openldap openldap-servers openldap-cli ...

  8. centos7 安装rabbitmq rabbitmq-c以及amqp扩展 详细篇

    自己鼓捣了一晚上总算整明白了,有几个坑分享给小伙伴,希望能帮到你 前期准备 安装erlang 下载rpm包地址:https://github.com/rabbitmq/erlang-rpm (注意er ...

  9. Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

随机推荐

  1. Codeforces Round #454 Div. 1

    B:考虑2*m怎么构造.因为要求相邻的数不能再相邻,容易想到黑白染色之类的东西,考虑染个色然后大概把黑点扔一边白点扔一边.显然m<=3时无解.对m>4,m为偶数时,如1 2 3 4 5 6 ...

  2. POJ1442-查询第K大-Treap模板题

    模板题,以后要学splay,大概看一下treap就好了. #include <cstdio> #include <algorithm> #include <cstring ...

  3. HDU4624 Endless Spin 【最大最小反演】【期望DP】

    题目分析: 题目是求$E(MAX_{i=1}^n(ai))$, 它等于$E(\sum_{s \subset S}{(-1)^{|s|-1}*min(s))} = \sum_{s \subset S}{ ...

  4. 初略 异步IO

    import asyncio asyncio.coroutine() from concurrent.futures import ThreadPoolExecutor def task(): pri ...

  5. 【AGC018F】Two Trees 构造 黑白染色

    题目描述 有两棵有根树,顶点的编号都是\(1\)~\(n\). 你要给每个点一个权值\(a_i\),使得对于两棵树的所有顶点\(x\),满足\(|x\)的子树的权值和\(|=1\) \(n\leq 1 ...

  6. 【XSY1580】Y队列 容斥

    题目大意 给你\(n,r\),求第\(n\)个不能被表示为\(a^b(2\leq b\leq r)\)的数 \(n\leq 2\times {10}^{18},r\leq 62\) 题解 我们考虑二分 ...

  7. HDOJ5540 Secrete Master Plan

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5540 题目大意:给一个两个2*2的矩阵,第二个矩阵能不能通过旋转得到第一个矩阵 题目思路:模拟 #in ...

  8. PHP linux ZendGuardLoader.so: undefined symbol: executor_globals

    /usr/xxx/php    xxx/xxx.php 报了这个错. 本人出现此问题的原因:  php执行程序路径错了. 解决: linux下执行   which php   命令  查看php真实路 ...

  9. python 获取当前文件夹下所有文件名

    os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...

  10. poj1182、hdu1829(并查集)

    题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: ...