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 "[email protected]@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 |

相关推荐
V---scwantop---信2 小时前
现代科幻赛博朋克风品牌海报电子竞技设计无衬线英文字体 Glander – Techno Font
笔记·字体
深夜情感老师3 小时前
centos&ububntu设置开机自启动
ubuntu·centos
WDeLiang3 小时前
Flask学习笔记 - 模板渲染
笔记·学习·flask
明月清了个风3 小时前
数据结构与算法学习笔记----贪心区间问题
笔记·学习·算法·贪心算法
因为奋斗超太帅啦4 小时前
MySQL学习笔记(一)——MySQL下载安装配置
笔记·学习·mysql
aoxiang_ywj4 小时前
【Linux】内核驱动学习笔记(二)
linux·笔记·学习
liuliu03235 小时前
戴尔笔记本 ubuntu 22.04 开机后进入initramfs界面
linux·运维·ubuntu
Moonnnn.5 小时前
运算放大器(五)电压比较器
笔记·学习·硬件工程
kfepiza6 小时前
`accept_ra` 和 `autoconf` 和 `forwarding` 的关系 笔记250404
linux·网络·笔记·tcp/ip·智能路由器·ip·tcp
kfepiza7 小时前
Debian编译安装mysql8.0.41源码包 笔记250401
数据库·笔记·mysql·debian·database