ubuntu - ldap安装配置

2023-05-16

本文从http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=246642转载

 

这几天在研究LDAP安装,上网找了一大圈还是没整明白,经过无数次的失败和N小时的尝试中终于研究的差不多了。
下面简要说一下流程吧,希望对大家有所帮助:
主要参考:http://www.debuntu.org/ldap-server-and-linux-ldap-clients
http://wiki.ubuntu.org.cn/LDAPClientAuthentication

1. LDAP Server
1.1. 安装
主要安装一下套件:

代码:
# apt-get install slapd ldap-utils migrationtools



按照提示输入相关信息,这样在重新配置的时候就可以作较少的工作了

重新配置

代码:
#dpkg-reconfigure slapd



大致如下:

代码:
Omit OpenLDAP server configuration? ... No
DNS domain name: ... debuntu.local        //根据自己需要输入,但必须和后面的相关地方保持一致
Name of your organization: ... Whatever & Co
Admin Password: XXXXX
Confirm Password: XXXXX
OK
BDB
Do you want your database to be removed when slapd is purged? ... No
Move old database? ... Yes
Allow LDAPv2 Protocol? ... No



由于现在新版本的2.4 以上版本的ldap都采用了新的数据库存储技术,因此可能就找不到像大家所说的sldap配置文件了,
现在都用新的数据格式存放在 /etc/ldap/slap.d/ 目录下面,dpkg-reconfigure slapd 可以实现ldap服务端的配置,按照要求填写即可,相信大家都能读懂里面的提示

现在我们已经设置好了域和管理员用户: “admin”
检查一下你是否可以顺利的访问你的LDAP服务:
输入:

代码:
$ ldapsearch -x -b dc=debuntu,dc=local


如果得到如下错误,可能是由于你的服务未开启:

代码:
ldap_bind: Can't contact LDAP server (-1)


启动服务:

代码:
# /etc/init.d/slapd start


1.2 建立数据库
我们可以通过 migrationtools 来很容易的导入本地的用户和用户组数据:

代码:
#cd /usr/share/migrationtools/


我们要先修改 migrationtools 的默认配置文件 migrate_common.ph 里面的参数:

代码:
$DEFAULT_MAIL_DOMAIN = "debuntu.local";
$DEFAULT_BASE = "dc=debuntu,dc=local";


导出本地数据:

代码:
# ./migrate_group.pl /etc/group ~/group.ldif
# ./migrate_passwd.pl /etc/passwd ~/passwd.ldif


可惜上面的脚本并没有帮我们创建 People 和 Group节点ou( Organisation Unit),因此我们要先建立他们,建立一个
people_group.lidf 如下:

代码:
dn: ou=People, dc=debuntu, dc=local
ou: People
objectclass: organizationalUnit

dn: ou=Group, dc=debuntu, dc=local
ou: Group
objectclass: organizationalUnit


其实它的结构就是一棵树,先建立了这棵树的根, dc=debuntu,dc=com ,在dn的表示中都是从儿子到祖先的顺序进行的,在以后的实践中可以发现这一点,结构可以如下图所示两种,我们比较常用的是第二种

附件:
intro_tree.png
intro_tree.png [ 24.13 KiB | 被浏览 298 次 ]

附件:
intro_dctree.png
intro_dctree.png [ 21.28 KiB | 被浏览 298 次 ]


导入数据库的前阶段工作已经完成
好了,现在我们开始导入数据:
ps:如果people_group.lidf 直接从网页拷贝的话可能会有点问题,得用工具重新编辑一下

代码:
# ldapadd -x -W -D "cn=admin,dc=debuntu,dc=local" -f ~/people_group.ldif
# ldapadd -x -W -D "cn=admin,dc=debuntu,dc=local" -f ~/group.ldif
# ldapadd -x -W -D "cn=admin,dc=debuntu,dc=local" -f ~/passwd.ldif


其中:
* -x 指示我们不用 sasl
* -W 指定要输入密码再进行操作
* -D 识别系统管理员
* -f 指定要输入的文件
到目前为止,服务器端已经建立好了。

2、客户端
首先安装相关套件:

代码:
#apt-get install libnss-ldap libpam-ldap nscd
LDAP Account for root: cn=admin,dc=debuntu,dc=local
Password: XXXX
Make local root database admin: yes
Database require logging in: No
Root login account: cn=admin,dc=debuntu,dc=local
Root login password: XXXX


libnss-ldap 被用于名字解析, libpam-ldap 用 pm 通过LDAP来认证用户, nscd is 是一个查找用户、组、密码的守护进程它会对查询结果进行缓存
接下来修改相关的配置文件: 注意大部分只有 debain用户需要进行修改,ubuntu 9.10+在安装相关套件的时候已经帮你修改好了,所以ubuntu用户只需最后修改一下认证的开关文件就行 nsswitch.conf

代码:
#vi /etc/libnss-ldap.conf
host ldap
base dc=debuntu,dc=local
rootbinddn cn=admin,dc=debuntu,dc=local
#vi /etc/pam_ldap.conf
host ldap
base dc=debuntu,dc=local
rootbinddn cn=admin,dc=debuntu,dc=local


这两个文件比较关键,如果你遇到客户端说
pam_ldap: error trying to bind (Invalid DN syntax)
那么很可能的原因就是 rootbinddn cn=admin,dc=debuntu,dc=local 有问题,因为在配置的时候只是生成 rootbinddn admin,如果是这样的话,那你按照上面的相关提示进行补全再试试吧

代码:
#vi /etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so
#if you want user homedir to be created on first login
#session required pam_mkhomedir.so umask=0022 skel=/etc/skel/ silent

 

代码:
#vi /etc/pam.d/common-auth
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass

 

代码:
vi /etc/pam.d/common-password
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5

#vi /etc/pam.d/common-session
session sufficient pam_ldap.so
session required pam_unix.so
session optional pam_foreground.so  //有些系统可能会提示找不到这个直接注释掉就行,好像是没什么用


最后我们要修改一下nsswitch文件规定系统进行用户认证的规则

代码:
# vim /etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap


现在你可以在本地进行用户的登入测试了,good luck!
可以先进行

代码:
getent passwd

检查一下是否正常工作了,如果还是不行就请重启电脑再试试吧

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu - ldap安装配置 的相关文章

  • #Ubuntu#root 新建虚拟机怎么切换到root用户权限

    我现在新建了一台ubuntu xff0c 需要通过切换到root用户执行文件 xff0c 发现怎么切换都是失败的 通过su root命令 xff0c 输入普通用户的密码 xff0c 会显示认证错误 xff0c 百度了一下 xff0c 这是由
  • Gradle--›Spring Kotlin多模块项目搭建√

    文章目录 前言使用IntelliJ IDEA创建单模块工程搭建多模块环境创建主模块创建库模块 部署参考文档联系作者 前言 环境说明 工具版本IntelliJ IDEAUltimate 2021 1SpringBoot2 5 0Kotlin1
  • #华为 #usg 华为防火墙安全区域的概念

    简介 安全区域 xff08 Security Zone xff09 xff0c 或者简称为区域 xff08 Zone xff09 xff0c 是设备所引入的一个安全概念 xff0c 大部分的安全策略都基于安全区域实施 定义 一个安全区域是若
  • #VMware ESXI7.0的下载

    一 VMware ESXI7 0版本的下载 xff08 一 xff09 概述 VMware vSphere是VMware公司推出的服务器虚拟化解决方案 xff0c 包含两个重量级的产品 xff1a VMware ESXI和VMware vC
  • #VMware#ESXI 配置虚拟机服务器开机自启动

    目录 1 登录到esxi xff0c 配置管理模块 2 将虚拟机配置开机启动 3 返回主机管理界面 xff0c 完成配置 4 停电后重启主机 xff0c 查看并验证自启动是否生效 1 登录到esxi xff0c 配置管理模块 选择管理 系统
  • #VMware#ESXI ESXI如何修改管理IP

    目录 一 修改方法 1 进入硬件管理平台 2 登录虚拟控制台 二 实际操作 1 在主界面按 F2 并输入控制台界面root的密码 xff0c 进入设置界面 2 找到 configure Management Network 选项并按 Ent
  • #华为 #usg USG6000双链路透明部署实验(一)

    目录 一 实验背景 二 实验环境 三 实验步骤 1 在所有交换机创建对应vlan 2 在核心交换机创建网关 xff0c 所有的网段IP都是254 网段是10 10 10 0 24 10 10 13 0 24 3 配置接入交换机的管理IP x
  • #VMware#ESXI 修改主机的控制台HTTP/HTTPS端口

    目录 一 开启SSH服务 二 修改控制台的默认端口 1 关闭防火墙的情境下 xff1a 1 1 远程进入ESXI的后台 xff0c 修改HTTP端口配置文件 1 2 关闭ESXI防火墙 1 3 重启服务器 2 不关闭防火墙的情景下 xff1
  • #ESXI #Centos 业务服务器故障如何恢复盘

    一 环境描述 有一台centos7的业务服务器 xff0c 因为操作人员重大失误 xff0c 导致业务服务器宕机 xff0c 由于未做备份与快照 xff0c 无法进行恢复 xff0c 考虑通过将硬盘挂载在其他虚拟机上重新获取数据 设备环境为
  • pikachu 靶场搭建

    一 准备环境 1 搭建环境 win 10phpstudypikachu 2 下载链接 win10自行寻找资源 pickchu靶机下载地址 xff1a https github com zhuifengshaonianhanlu pikach
  • virtualbox命令行启动虚拟机和关闭虚拟机和虚拟机关闭防火墙

    查看virtualbox正在运行的虚拟机命令 VBoxManage list runningvms 根据查到的虚拟机 ip 号 使用后台命令启动虚拟机的方法 xff1a VBoxManage startvm ip 使用后台命令关闭虚拟机的方
  • android studio 最新3.0 kotlin与databinding 结合使用报错。

    最近android studio 3 0更新 xff0c 迫不及待将项目中的代码向kotlin转 其中转到有databinding的时候遇到报错 xff1a Unresolved reference databinding 找到网上解决办法
  • AS--›Android Studio内存大小设置和插件推荐(2021-1-14更新)

    调整AS的占用内存 多开工程毫无压力 AS 3 5 的版本 已经支持通过设置界面修改内存大小了 但是 旧方法依旧有效 文章目录 Windows修改方法MAC修改方法插件推荐 ignore A Search with GithubTransl
  • android Camera预览界面拉伸问题解决

    问题现象 项目中的扫一扫界面打开以后 xff0c 扫描二维码的界面显示的二维码被拉伸 xff0c 图片如下 xff1a 问题原因 通常 xff0c 拍照预览页面的视图拉伸主要与下面两个因素有关 xff1a Surfaceview的大小Cam
  • 什么是 AOP,AOP 的作用是什么?

    分析 amp 回答 AOP的介绍 AOP全称 xff08 Aspect Oriented Programming xff09 面向切片编程的简称 AOP面向方面编程基于IoC xff0c 是对OOP的有益补充 xff1b AOP利用一种称为
  • Ubuntu图形界面卡死的解决方法

    转到字符界面 xff1a Ctrl 43 Alt 43 F1 查看进程 xff1a ps t tty7 找到Xorg进程的PID号xxx xff0c 如992 杀死进程Xorg xff1a kill xxx xff08 这里是kill 99
  • 笔记本电脑电源指示灯亮但是黑屏开不了机(或者成功开机之后发现很卡顿)的解决方法

    问题描述 本人电脑是联想拯救者Y7000P xff0c 性能如下 近期遇到一个问题 xff0c 笔记本电脑开机的之后 xff0c 突然出现卡顿 xff0c 不管是打开浏览器还是打开软件 xff0c 都要等上几秒钟 xff0c 连刷新都要等一
  • windows下的WSL开发环境配置以及相关工具、插件

    最近在自己的X1上捣鼓Django框架的编程 xff0c windows环境使用起来确实让人痛苦 xff0c 因此决定还是在Linux系统下进行Django框架的编程 xff0c 跟朋友交流了一下 xff0c 最终敲定了以下方案并把中间使用
  • 最全spring框架工作流程

    Spring执行流程 xff1a 用户发起请求到前端控制器 xff08 DispatcherServlet xff09 xff0c 该控制器会过滤出哪些请求可以访问Servlet 哪些不能访问 就是url pattern的作用 xff0c
  • python多线程爬虫教学,清晰易懂。

    首先需要知道什么是多线程 xff0c 多线程的作用 首先举个例子 xff0c 并发和并行 xff1a 并发 xff1a 并发 xff0c 在操作系统中 xff0c 是指一个时间段中有几个程序都处于已启动运行到运行完毕之间 xff0c 且这几

随机推荐

  • ubuntu 下ethtool安装

    1 xff0c 下载安装包 xff1a ethtool 2 6 37 tar xff0c 将其放入自己的路径下 xff0c 解压 xff1a tar xvf ethtool 2 6 37 tar 2 cd ethtool 2 6 37 执行
  • 第四章_表达式_4.9 sizeof 运算符

    4 9 sizeof 运算符 4 9 sizeof 运算符 4 9 sizeof 运算符 sizeof运算符返回一条表达式或一个类型名字所占的字节数 sizeof运算符满足右结合律 xff0c 其所得的值是一个size t类型的常量表达式
  • 初探ViewBinding

    视图访问的方式有常用的findViewById xff0c ButterKnife等多种方式 xff0c 这些方式的各方面对比如下 如上图所示 xff0c 在简明 编译安全和编译速度上都各有优势 xff0c 那么有没有一种方式可以一石 34
  • Kotlin--›Android 超轻,超好用,超简洁,超超超级RecyclerView分割线ItemDecoration封装

    需求分析 如图所示的 101 共2人 这一行 顶部有 一块白色区域 可以当做是分割线101 共2人 这一行 底部有一个很细的分割线 差不多撑满了一行人物信息 这一行 首次出现时 只有底部有分割线 而且还是 非撑满一行的效果人物信息 这一行
  • Linux系统网络配置详解

    1 当一台Linux虚拟机刚创建完成是无法上网 xff0c 所以需要我们去配置网络 2 右击虚拟界面 xff0c 点击打开终端 3 查看虚拟机的网关 xff08 1 xff09 点击VMware Workstation左上角的编辑 xff0
  • Linux的sed命令详解大全

    Linux的sed命令详解大全 一 sed命令介绍二 sed 的运行模式三 sed的相关选项四 sed基本用法1 sed语法2 sed的查看功能 查看passwd文件的第5到第8行内容 查看passwd文件中以roo开头的行 忽略大小写 x
  • Linux下shell脚本之双色球摇号脚本

    Linux下shell脚本之双色球摇号脚本 一 脚本要求二 脚本内容三 运行脚本 一 脚本要求 二 脚本内容 三 运行脚本 一 脚本要求 1 编写脚本Lottery sh 模拟摇号过程 2 6位数红色球随机生成 xff0c 不能重复 xff
  • 华为云计算基础之Fusion Compute介绍

    华为云计算基础之Fusion Compute介绍 一 Fusion compute 1 FusionCompute解释 2 FusionCompute特性 3 华为FusionSphere 4 华为云计算各组件关系 5 华为fusionco
  • 【Zabbix实战之部署篇】kubernetes集群搭建Zabbix监控平台

    kubernetes集群搭建Zabbix监控平台 一 zabbix介绍 1 zabbix简介 2 zabbix特点 3 zabbix的主要功能 4 zabbix架构图 二 检查本地k8s环境 1 检查系统pod运行状态 2 检查node节点
  • Linux系统之时间同步方法

    Linux系统之时间同步方法 一 使用NTP服务时间同步1 安装ntp2 启动ntp服务3 查看ntp服务4 修改ntp conf文件5 重启服务6 检查同步状态 二 使用ntpdate同步1 使用ntpd命令同步2 查看时间 三 处理nt
  • 猿创征文 | 国产数据库之openGauss的单机主备部署及快速入门

    猿创征文 国产数据库之openGauss的单机主备部署及快速入门 一 openGauss介绍 1 openGauss简介 2 openGauss特点 3 openGauss的逻辑架构图 二 环境检查 1 节点规划 2 操作系统版本 三 安装
  • 猿创征文 | 国产数据库之在k8s环境下部署RadonDB MySQL集群

    猿创征文 国产数据库之在k8s环境下部署RadonDB MySQL集群 一 RadonDB MySQL介绍 1 RadonDB MySQL简介 2 RadonDB MySQL的应用场景 3 RadonDB MySQL核心功能 4 Radon
  • 云原生之使用Docker部署docker-compose-ui工具

    云原生之使用Docker部署docker compose ui工具 一 Docker Compose UI介绍二 检查本地docker环境1 检查系统版本2 检查docker状态 三 下载Docker Compose UI镜像四 部署Doc
  • 在portainer上配置Docker私有镜像仓库

    在portainer上配置Docker私有镜像仓库 一 本次实践介绍 1 本次实践简介 2 环境规划 二 部署docke registry镜像仓库 1 创建registry容器 2 检查registry容器状态 3 测试私有仓库地址 4 添
  • Docker部署FAST OS DOCKER容器管理工具

    Docker部署FAST OS DOCKER容器管理工具 一 FAST OS DOCKER介绍1 FAST OS DOCKER简介2 FAST OS DOCKER特点 二 本次实践介绍1 本次实践简介2 本次实践环境 三 本地环境检查1 检
  • Kotlin--›Android 极致体验,图片转场动画(类似微信/QQ图片查看效果, 带拖拽返回, 高扩展, 支持任意类型界面过渡)

    效果图 大于2MB 本文核心 Transition TransitionManager 文章目录 1 Transition 入门captureStartValuescaptureEndValuescreateAnimator例子1 Colo
  • Linux系统之Team链路聚合配置

    Linux系统之Team链路聚合配置 一 Team链路聚合介绍1 Teaming技术简介2 网卡的bonding和Teaming技术3 Team常用工作模式 二 实践环境规划三 添加物理网卡1 新增物理网卡2 查看网卡信息 四 Team链路
  • 云原生之使用Docker部署webos私有云盘

    云原生之使用Docker部署webos私有云盘 一 webos介绍1 webos简介2 webos特点 二 本次实践介绍1 本次实践简介2 本次部署环境规划 三 检查本地Docker环境1 检查Docker版本2 检查Docker服务状态
  • 【Python】使用skimage完成二值图像连通区域标记及属性提取

    Overview 对于二值图像来说 xff0c 每个像素点的值只有类似0 1的两种可能性 xff0c 一般为0 黑 255 白 如果两个像素点位置相邻且取值相同 xff0c 那么这两个像素点即处于同一个相互连通的区域内 从视觉上看 xff0
  • ubuntu - ldap安装配置

    本文从http forum ubuntu org cn viewtopic php f 61 54 amp t 61 246642转载 这几天在研究LDAP安装 xff0c 上网找了一大圈还是没整明白 xff0c 经过无数次的失败和N小时的