Ubuntu OpenLDAP配置笔记

Ubuntu OpenLDAP配置笔记

问题(需求)

怎么在Linux桌面登录一个本地不存的账号?做过企业IT管理的同学们应该都知道Windows域控(https://learn.microsoft.com/zh-cn/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview)。 在国产替代的趋势下,很多企业产生了Lunux桌面登录OpenLDAP账号的需求。本文详细记录作者亲自实验的过程,希望对你有所帮助。

LDAP服务端

安装 slapd(独立 LDAP 守护程序)会创建具有顶级条目和管理员专有名称 (DN) 的最小工作配置。特别是,它会创建一个可用于存储数据的数据库实例。但是,此实例的后缀(或基本 DN)将根据主机的域名确定。如果您想要不同的东西,您可以在安装后立即更改它(在它包含任何有用的数据之前)。本文将使用域名 dc=yyaw,dc=com, 域服务器IP 192.1.4.8。您可以更改此设置以匹配您的特定设置。系统安装配置不是本文重点。想快速体验的同学可以联系我提供虚拟机。

安装slapd和ldap-utils

运行命令:sudo apt install slapd ldap-utils。输入管理员密码。

配置域名

如果要更改目录信息树 (DIT) 后缀,现在是一个好时机,因为更改它会丢弃现有的后缀。若要更改后缀,请运行以下命令:

bash 复制代码
sudo dpkg-reconfigure slapd
  1. 是否忽略LDAP自带的组织配置。LDAP自带的配置相当于数据库的元数据,比如用户表的管理员账号和密码。如果选择啥都没有,那么连接数据库的程序自身也无法正常运行。建议不要忽略,选No。

  2. 域名:yyaw.com

  3. 基本DN:admin

  4. 管理员密码:

  5. 数据库选择

  6. slapd被卸载是否删除slapd的数据,是否兼容LDAPv2版本,这些配置应用默认选项。此处不截图。

在本文中,我们将使用 LDAP 实用程序发出许多命令。为了减少一些输入,我们可以在 中 /etc/ldap/ldap.conf 配置具有某些默认值的 OpenLDAP 库(根据您的服务器名称和目录后缀调整这些条目):

复制代码
BASE    dc=yyaw,dc=com
URI     ldap://yyaw.com

编辑hosts

运行命令:sudo vim /etc/hosts,按下图提示修改:

修改主机名

运行命令:sudo vim /etc/hostname,改为yyaw.com

验证

  1. 验证本地服务:ldapsearch -x -LLL -H ldap:/// -b dc=yyaw,dc=com dn
  2. 验证网络服务:ldapsearch -x -LLL -H ldap://192.1.4.8/ -b dc=yyaw,dc=com cn
  3. 验证管理员账号:ldapwhoami -x -D cn=admin,dc=yyaw,dc=com -w <密码> -H ldap://192.1.4.8/

增加一个域账号

新建LDIF文件:vim tingting.ldif,分4次先后输入以下配置,每次输入完成后运行下面的命令行:

复制代码
dn: ou=People,dc=yyaw,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Groups,dc=yyaw,dc=com
objectClass: organizationalUnit
ou: Groups

dn: cn=users,ou=Groups,dc=yyaw,dc=com
objectClass: posixGroup
cn: users
gidNumber: 15000

dn: uid=tingting,ou=People,dc=yyaw,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: tingting
sn: Xia
givenName: Lily
cn: Lily Xia
displayName: Lily Xia
uidNumber: 10001
gidNumber: 15000
userPassword: {CRYPT}x
gecos: Lily Xia
loginShell: /bin/bash
homeDirectory: /home/ldap/tingting

运行命令:ldapadd -x -D cn=admin,dc=yyaw,dc=com -W -f tingting.ldif -H ldap://192.1.4.8/,输入密码。

结果如下图所示:

修改用户的密码

运行命令:ldappasswd -x -H ldap://192.1.4.8/ -D cn=admin,dc=yyaw,dc=com -W -S uid=tingting,ou=people,dc=yyaw,dc=com,先输入用户的密码,后输入管理员密码。结果如下图所示:

Linux桌面加域

当前操作的主机的IP为192.1.4.9。系统安装配置不是本文重点。想快速体验的同学可以联系我提供虚拟机。

安装软件

运行sudo apt install libnss-ldapd libpam-ldapd ldap-utils,在询问界面中输入:ldap://192.1.4.8/

输入域名:dc=yyaw,dc=com

选中grouppasswdshadow

编辑/etc/ldap/ldap.conf

验证

运行命令:getent passwd

允许远程账号首次登录时自动创建HOME目录

运行sudo pam-auth-update --enable mkhomedir,按下图所示配置

重启:reboot

桌面登录

输入账号密码:

成功进入桌面

其它问题

Ubuntu更新和安装太慢

  1. 原因
    1. ubuntu默认的cn.archive.ubuntu.com网络延时太大,虽然它会转发给国内的镜像站,但每次请求它地转发要卡很久
    2. ubuntu开机在后台自动更新
  2. 其它干扰
    1. 新安装的虚拟机没有SSH,手输sources.list内容太长易出错
    2. ubuntu没有自带vim编辑器,自带的vi编辑器极难操作。
  3. 解决办法
    1. 修改仓库配置:sudo sed -i "s@cn.archive.ubuntu.com@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
    2. 屏蔽其它更新,仅限实验:sudo vi /etc/apt/sources.list,屏蔽所有主机名不是镜像站的配置。

LDAP服务端IP默认DHCP,ifconfig设置的IP重启失效

  1. 找到正在用的网卡的GUID:nmcli con
  2. 网卡名改为eth0:nmcli con mod <guid> connection.id eth0
  3. 手动设置IP:nmcli con mod eth0 ipv4.address=192.1.4.8/24 ipv4.gateway 192.1.4.2 ipv4.method manual ipv4.dns 114.114.114.114
  4. 刷新网卡,使IP生效:nmcli con dow eth0 && nmcli con up eth0

参考资料

  1. RFC4510:https://datatracker.ietf.org/doc/html/rfc4510

|-----|-------------------------------|
| 作者: | 岬淢箫声 |
| 日期: | 2023年10月23日 |
| 版本: | 1.0 |
| 链接: | http://caowei.blog.csdn.net |

相关推荐
t198751284 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
晚风吹人醒.5 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Yawesh_best5 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
Ccjf酷儿7 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y8 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面8 小时前
(笔记)自定义 systemd 服务
笔记
皮小白8 小时前
ubuntu开机检查磁盘失败进入应急模式如何修复
linux·运维·ubuntu
DKPT9 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉11 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法
星轨初途12 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法