Ubuntu OpenLDAP配置笔记
- 问题(需求)
- LDAP服务端
- 安装slapd和ldap-utils
- 配置域名
- 编辑hosts
- 修改主机名
- 验证
- 增加一个域账号
- 修改用户的密码
- Linux桌面加域
- 安装软件
- 验证
- 允许远程账号首次登录时自动创建HOME目录
- 桌面登录
- 其它问题
- Ubuntu更新和安装太慢
- LDAP服务端IP默认DHCP,ifconfig设置的IP重启失效
- 参考资料
问题(需求)
怎么在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) 后缀,现在是一个好时机,因为更改它会丢弃现有的后缀。若要更改后缀,请运行以下命令:
sudo dpkg-reconfigure slapd
-
是否忽略LDAP自带的组织配置。LDAP自带的配置相当于数据库的元数据,比如用户表的管理员账号和密码。如果选择啥都没有,那么连接数据库的程序自身也无法正常运行。建议不要忽略,选No。
-
域名:
yyaw.com
-
基本DN:
admin
-
管理员密码:
-
数据库选择
-
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
验证
- 验证本地服务:
ldapsearch -x -LLL -H ldap:/// -b dc=yyaw,dc=com dn
- 验证网络服务:
ldapsearch -x -LLL -H ldap://192.1.4.8/ -b dc=yyaw,dc=com cn
- 验证管理员账号:
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
选中group
、passwd
、shadow
:
编辑/etc/ldap/ldap.conf
验证
运行命令:getent passwd
允许远程账号首次登录时自动创建HOME目录
运行sudo pam-auth-update --enable mkhomedir
,按下图所示配置
重启:reboot
桌面登录
输入账号密码:
成功进入桌面
其它问题
Ubuntu更新和安装太慢
- 原因
- ubuntu默认的cn.archive.ubuntu.com网络延时太大,虽然它会转发给国内的镜像站,但每次请求它地转发要卡很久
- ubuntu开机在后台自动更新
- 其它干扰
- 新安装的虚拟机没有SSH,手输sources.list内容太长易出错
- ubuntu没有自带vim编辑器,自带的vi编辑器极难操作。
- 解决办法
- 修改仓库配置:
sudo sed -i "s@cn.archive.ubuntu.com@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
- 屏蔽其它更新,仅限实验:
sudo vi /etc/apt/sources.list
,屏蔽所有主机名不是镜像站的配置。
- 修改仓库配置:
LDAP服务端IP默认DHCP,ifconfig设置的IP重启失效
- 找到正在用的网卡的GUID:
nmcli con
- 网卡名改为eth0:
nmcli con mod <guid> connection.id eth0
- 手动设置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
- 刷新网卡,使IP生效:
nmcli con dow eth0 && nmcli con up eth0
参考资料
- RFC4510:https://datatracker.ietf.org/doc/html/rfc4510
作者: | 岬淢箫声 |
日期: | 2023年10月23日 |
版本: | 1.0 |
链接: | http://caowei.blog.csdn.net |