Linux Ldap Configuration

LDAP Server

Base Software & SysTem Info

SysTem Info

系统版本:centos 6.4

LDAP Server Machine:10.90.10.222 (此IP为机器的实际IP,自己配置时根据实际情况而定)
LDAP Clients Machine:10.90.20.245 (此IP为机器的实际IP,自己配置时根据实际情况而定)
LDAP Client Machine N...... (其余N多的client机器不一一列举,完成一个client配置后,其他机器Clone整个过程即可)

Base Software

安装 LDAP 服务 安装 LDAP 服务依赖 配置 LDAP 服务

  • 安装 LDAP
1.安装服务以及依赖
yum -y install openldap*
2.配置LDAP 服务器主机名,更改 hosts 文件
例如:ldap.example.com
  • 配置 LDAP
查看生成的文件进行配置
    [root@ldap ~]# ls -l /etc/openldap/slapd.d/
drwx------ 3 ldap ldap 4096 1月 23 01:13 cn=config
-rw------- 1 ldap ldap 1281 1月 23 00:48 cn=config.ldif
配置
    [root@ldap cn=config]# pwd
/etc/openldap/slapd.d/cn=config
#vim olcDatabase={2}bdb.ldif
olcSuffix: dc=example,dc=com (更改此处的 dc=example 为自己的配置)
olcRootDN: cn=Manager,dc=example,dc=com (同上,此处为管理用户)
olcRootPW: {SSHA}UgmkHyFXb+qUqvlJoPBfeqQ+5af4smGW(添加此行 为 LDAP 管理者的密码用 slappasswd生成加密的密码)
olcTLSCertificateFile: /etc/pki/tls/certs/example.pem(添加 LDAP 服务器的 认证)
olcTLSCertificateKeyFile: /etc/pki/tls/certs/examplekey.pem(同上)
#vim olcDatabase\=\{1\}monitor.ldif
dn.base="cn=Manager,dc=my-domain,dc=com" (此处更改 manager 为 Manager)
#copy 配置文件,更改此文件的权限
cp -rvf /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
updatedb (命令用来创建或更新slocate命令所必需的数据库文件)
#配置系统开启 ldap
vim /etc/sysconfig/ldap
SLAPD_LDAPS=yes (此项更改为 yes)
生成证书
    生成证书
openssl req -x509 -nodes -out /etc/pki/tls/certs/example.pem -keyout /etc/pki/tls/certs/examplekey.pem -days 365
更改证书权限
chown -R root:ldap /etc/pki/tls/certs/example*
启动 LDAP
    service slapd restart
chkconfig slapd on
共享 LDAP 服务器生成的 pem 文件 使用 vsftpd 服务和 httpd 服务
    1.install vsftpd httpd
yum -y install vsftpd httpd
2.copy pem To vsftpd pub
cp -rvf /etc/pki/tls/certs/example.pem /var/ftp/pub/
3. restart vsftpd and chkconfig on
service vsftpd rsetart
chkconfig vsftpd on
4.共享 example.pem 通过 httpd 服务
ln -s /var/ftp/pub/ /var/www/html/
5.启动 httpd
service httpd restart
chkconfig httpd on
安装migrationtools 工具进行 LDAP 的文件转换
    yum -y install migrationtools

    #使用 prel 脚本进行文件的转换
cd /usr/share/migrationtools #更改脚本是符合之前所做的更改
vim migrate_common.ph
$NAMINGCONTEXT{'group'} = "ou=Groups" (跟上边对应)
$DEFAULT_MAIL_DOMAIN = "example.com"; (更改自己的域名)
$DEFAULT_BASE = "dc=example,dc=com"; (更改成自己的域)
$EXTENDED_SCHEMA = 1; (更改为1 支持更广泛的对象类) #初始化数据
./migrate_base.pl > /root/base.ldif (生成的结果存成 ldap 专有的文件类型) #创建 LDAP 用户
mkdir /home/guests (创建用户宿主目录)
useradd -d /home/guests/ldapuser1 ldapuser1
useradd -d /home/guests/ldapuser1 ldapuser2
useradd -d /home/guests/ldapuser1 ldapuser3
useradd -d /home/guests/ldapuser1 ldapuser4
useradd -d /home/guests/ldapuser1 ldapuser5
#为所创建的用户创建密码
passwd ldapuser1
......... getent passwd (用来察看系统数据库的getent命令)
#将新建立的账户.密码.组导出 getent passwd | tail -n 5 > /root/users getent shadow | tail -n 5 > /root/passwords getent group | tail -n 5 > /root/groups #更改脚本 188行为
open(SHADOW, "/root/passwords") || return; #进行文件转换 ./migrate_passwd.pl /root/users > /root/users.ldif ./migrate_group.pl /root/groups > /root/groups.ldif #将转换过后的用户和组文件 添加到 LDAP 服务器中 ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /root/base.ldif (首先导入基本文件)
输入 Ldap server 的密码:
ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /root/users.ldif
输入 Ldap server 的密码:
ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /root/groups.ldif
输入 Ldap server 的密码: #产看导入后 LDAP 的数据
ldapsearch -x -b “dc=example,dc=com” | less

--------------------------LDAP Server Configuration End--------------------------

LDAP Server Action

1.添加 LDAP 用户首先添加LDAP Server 系统组,用户
groupadd gitlab
useradd -d /home/guests/zhangsan -g gitlab zhangsan
useradd -d /home/guests/lisi -g gitlab lisi passwd zhangsan
passwd lisi
2.将新建了用户导出
getent passwd | tail -n 3 > /root/newuser
getent shadow | tail -n 3 > /root/newpassword
getent group | tail -n 1 > /root/newgroup
3.更改脚本进行用户添加
cd /usr/share/migrationtools/
vim migrate_passwd.pl
188 open(SHADOW, "/root/newpassword") || return; (更改此处换成新建立用户导出的密码)
4.导出 ldap 识别的文件
cd /usr/share/migrationtools/
./migrate_passwd.pl /root/newuser > /root/newuser.ldif
./migrate_group.pl /root/newgroup > /root/newgroup.ldif
5.向 LDAP 添加用户
ldapadd -x -W -D "cn=Manager,dc=example,dc=com" -f /root/newuser.ldif
ldapadd -x -W -D "cn=Manager,dc=example,dc=com" -f /root/newgroup.ldif
ldapsearch -x -b "dc=example,dc=com" | less (查看添加成功否)

LDAP Clients

依赖安装

    yum -y install openldap-clients nss-pam-ldapd

配置客户端使用 LDAP

vim /etc/openldap/ldap.conf
BASE dc=example,dc=com (替换成自己的域)
URI ldap://ldap.example.com ldap://ldap-master.example.com:666 (替换成自己的 URL)
* TLS_CACERTDIR http://ldap.example.com/pub/example.pem (此处需要注意由于是使用 httpd 服务将认证文件 example.pem 共享出来的 所以要添加自己的 URL 去读取 pem) vim /etc/nslcd.conf
#更改文件末尾 uri 为自己的 地址
131 uri ldap://ldap.example.com/
132 base dc=example,dc=com
62 tls_cacertdir http://ldap.example.com/pub/example.pem (更改为自己共享的认证地址)
vim /etc/pam_ldap.conf
20 base dc=example,dc=com (更改成自己的域)
25 uri ldap://ldap.example.com/ (更改成自己的 ldap 服务器地址)
267 tls_cacertdir http://ldap.example.com/pub/example.pem (更改成自己的认证发布地址) vim /etc/pam.d/system-auth
13 account [default=bad success=ok user_unknown=ignore] pam_ldap.so (添加认证模块)
18 password sufficient pam_ldap.so use_authtok (添加认证模块)
25 session optional pam_ldap.so (添加认证模块) vim /etc/nsswitch.conf 33 passwd: files ldap (添加 ldap)
34 shadow: files ldap
35 group: files ldap
57 netgroup: ldap (更改此项为 ldap)
61 automount: files ldap (更改为 ldap) vim /etc/sysconfig/authconfig 21 USELDAP=yes

验证客户端使用 LDAP 登陆

[root@gitlab ~]# getent  passwd ldapuser1
ldapuser1:x:500:500:ldapuser1:/home/guests/ldapuser1:/bin/bash
[root@gitlab ~]# su - ldapuser1
su: 警告:无法切换到目录/home/guests/ldapuser1: 没有那个文件或目录
###此处报出客户端可以读取到 ldap 服务器的用户 但是无法使用 LDAP 用户登录
因为: LDAP 虽然把用户已经管理起来但是没有给他登录的目录
所以:此处不能使用 LDAP 用户登录

配置 LDAP 共享用户目录 使用 NFS 进行共享 客户端使用 autofs 进行挂载配置

1.登录到 LDAP Server 服务器进行目录共享
LDAP Server# yum -y install nfs #vim /etc/exports
/home/guests *(rw,sync) # service nfs restart
# chkconfig nfs on
2.客户端配置 autofs 进行挂载 共享的目录
yum -y install autofs #配置自动挂在读取配置文件
[root@gitlab ~]# vim /etc/auto.master
/home/guests /etc/auto.guests (添加此行) [root@gitlab ~]# vim /etc/auto.guests (创建此文件)
* ldap.example.com:/home/guests/& 重启 autofs
service autofs restart
chkconfig autofs on [root@gitlab ~]# su - ldapuser1
[ldapuser1@gitlab ~]$

------------------------------LDAP Clients Configuration End------------------------------

Linux LDAP Server--->Clients配置的更多相关文章

  1. Linux VNC server 安装配置

    1.安装vnc server [root@pxe ~]# yum install tigervnc-server -y   2.设置 vnc server 开机启动 [root@pxe ~]# chk ...

  2. 在Linux中安装和配置OpenVPN Server的最简便方法!

    本文介绍了如何在基于RPM和DEB的系统中安装和配置OpenVPN服务器.我们在本文中将使用一个名为openvpn-install的脚本,它使整个OpenVPN服务器的安装和配置过程实现了自动化.该脚 ...

  3. linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))

    linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...

  4. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  5. LVS : Linux Virtual Server 负载均衡,集群,高并发,robust

    1 LVS : Linux Virtual Server http://www.linuxvirtualserver.org/ http://www.linuxvirtualserver.org/zh ...

  6. linux下Samba服务配置

    SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可 ...

  7. (转)Linux系统基础网络配置老鸟精华篇

    Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...

  8. 在 Linux 多节点安装配置 Apache Zookeeper 分布式集群

    规划: 三台物理服务器就形成了(法定人数).对于高可用性集群,您可以使用高于3的任何奇数.例如,如果设置5台服务器,则集群可以处理两个故障节点等. 物理服务器需要开启的端口 2888 , 3888 和 ...

  9. SuSe Linux Enterprise Server 10 With Sp2 安装过程图解

    SuSe Linux Enterprise Server 10 With Sp2 安装过程图解 650) this.width=650;" style="border-right- ...

随机推荐

  1. KMP - HDU 1711 Number Sequence

    Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

    开发<客户关系管理系统(CRM)>软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路.开发理念,以及一些必要的高效率手段.本篇随 ...

  3. ASP.NET中使用DropDownList实现无刷新二级联动详细过程

    Demo.sql create table Car( [id] int identity, ) not null, ) not null ) go insert into Car ([brand],[ ...

  4. struts2中valueStack,stackContext以及actionContext的关系

    一,首先给出三者的定义 1.valueStack: 里面存放的是Action类中通过set方法设置的属性值(表单传过来的值等),由OGNL框架实现; 2.stackContext: 也是用来存值的,s ...

  5. UltraEdit打开UTF-8文件后显示中文乱码的问题

    左图是UE,默认的编码格式GBK.右图可以看出可修改成UTF-8编码.按钮位置是UE底部状态栏,图3显示怎么开关状态栏. >>>>>>>>>> ...

  6. ASP.NET版CKEditor与CKFinder的配置使用

    ASP.NET版 CKEditor与CKFinder的配置使用 将CKEditor 与 CKFinder 的包含在项目中,并添加程序集的引用 从http://cksource.com网站上下载CKEd ...

  7. CKEditor与CKFinder的配置

    CKEditor与CKFinder的配置使用(一) 将CKEditor 与 CKFinder 的包含在项目中 从http://cksource.com网站上下载CKEditor与CKFinder,并将 ...

  8. owl-carousel轮播插件的使用

    插件github地址:https://github.com/OwlFonk/OwlCarousel: 插件官网演示地址:http://owlgraphic.com/owlcarousel/: 1.选择 ...

  9. Smartforms常见问题

    分类: 1.使用SFSY-FORMPAGES显示总页数的时候,如果页数大于9,将会在前10页显示成星号* 解决: 有时候这样做完之后,星号*是没有了,但是字体会有颠倒或者重叠的现象. 如果出了这个问题 ...

  10. Opengles 管线编程介绍

      OpenGL ES 2.0可编程管道 上图橙色部分(Vertex Shader和Fragment Shader)为此管道的可编程部分.整个管道包含以下两个规范: 1)         OpenGL ...