LDAP搭建,实现linux账号统一管理

这篇具有很好参考价值的文章主要介绍了LDAP搭建,实现linux账号统一管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LDAP简介

ldap是开源的轻量级目录访问协议,英文全称是Lightweight Directory Access Protocol,它本身是一个小型文件数据库,能够通过server + client(服务端+客户端)的方式,进行统一的用户账号管理。随着公司研发人员越来越多,在各个研发服务器上添加重复账号就变得麻烦,如果使用ldap来管理,就只需要在ldap服务中创建一次就可以了,账号清理也是类似的道理。我们通过控制一台ldap server服务器,即可管理所有ldap client服务器上的账号,这样就方便很多了。

系统搭建环境

  1. Ubuntu 18.04 LTS,内网IP:192.168.0.1,ldap server
  2. Ubuntu 18.04 LTS,内网IP:192.168.0.2,ldap client

LDAP server 搭建

Step1: 设置服务器名称

在内网环境中,服务器名称最好是唯一的,比如改成saturn.com。

sudo hostnamectl set-hostname saturn.com 

修改完成后,可以用以下命令确认:

hostname -f

编辑/etc/hosts文件。

sudo vim /etc/host

在文件底部添加:

192.168.0.1 saturn.com

Step2: 安装OpenLADP server

sudo apt -y install slapd ldap-utils

在安装过程中,会提示设置ldap admin的密码。

ldap搭建,linux,数据库,运维,服务器

安装完成后可以通过slap命令验证,正常会显示ldap database的内容,重要的是确认database的dn, 这里为dc=saturn,dc=com

sudo slapt

ldap搭建,linux,数据库,运维,服务器

Step3: 添加users和groups的base dn

ldap database里的内容只能通过文件名后缀为.ldif的文件进行添加,或者通过Web工具(OpenLDAP没有自带的Web工具,下面会介绍LDAP account manager 工具)。

创建basedn.ldif文件并且编辑。

touch basedn.ldif
vim basedn.ldif

在basedn.ldif中添加以下内容,注意dn中要用dc=saturn, dc=com。

dn: ou=people,dc=saturn,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=saturn,dc=com
objectClass: organizationalUnit
ou: groups

用下面命令将文件的内容添加到database中:

ldapadd -x -D cn=admin,dc=saturn,dc=com -W -f basedn.ldif

成功的话会显示类似的提示:

adding new entry "ou=people,dc=saturn,dc=com"
adding new entry "ou=groups,dc=saturn,dc=com"

Step4: 添加用户账户

用slappasswd命令生成账户密码,网上查询slappasswd命令是用来修改ldap admin密码的,但是仅仅用这个命令好像不 能直接修改admin的密码,安全起见,可以用网站http://web.chacuo.net/safeldap 在线生成ldap加密的密码。

sudo slappasswd
New password: 
Re-enter new password: 
{SSHA}Zn4/E5f+Ork7WZF/alrpMuHHGufC3x0k

创建ladpuseradd.ldif文件并且编辑。

touch ldapuseradd.ldif 
vim ldapuseradd.ldif 

在ladpuseradd.ldif中添加以下内容, 比如创建一个用户名为han.meimei的ldap账号:

dn: uid=han.meimei,ou=people,dc=saturn,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: han.meimei
sn: meimei
userPassword: {SSHA}Zn4/E5f+Ork7WZF/alrpMuHHGufC3x0k
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/han.meimei

其中uid跟cn是设置ldap账号的用户名,sn设置用户的昵称,uidNumber跟gidNumber就是linux系统下用户的uid跟gid,注意添加不同账号时uidNumber保持不同,不然在linux terminal中显示的路径可能会有问题,gidNumber可以保持一致,让用户在同一个组里,统一管理权限。userPassword后面可以填写用网站http://web.chacuo.net/safeldap在线生成的其他加密密码,之后用LDAP account manager也可以修改账户信息及密码。

用下面命令将文件的内容添加到database中:

ldapadd -x -D cn=admin,dc=saturn,dc=com -W -f ldapuseradd.ldif 

成功的话会显示类似的提示:

adding new entry "uid=han.meimei,ou=people,dc=saturn,dc=com"

Step5: 安装LDAP Account Manager(推荐)

ldap用命令行管理database比较麻烦,可以用辅助Web工具phpLDAPadmin,LDAP Account Manager等,这里推荐使用 LDAP Account Manager。

安装PHP, Apache。

sudo apt -y install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear

激活php-cgi PHP extension。
通用命令:

sudo a2enconf php*-cgi
sudo systemctl reload apache2

Ubuntu 18.04:

sudo a2enconf php7.2-cgi
sudo systemctl reload apache2

安装LDAP Account Manager。

sudo apt -y install ldap-account-manager

安装完成后可以在浏览器中登入LAM的管理界面,http://(server’s hostname or IP address)/lam, 在本例中为http://192.168.0.1/lam。界面如下图:

ldap搭建,linux,数据库,运维,服务器

然后需要设置ldap server profile, 点击登入界面左上角的LAM configuration,然后点击Edit server profiles。

ldap搭建,linux,数据库,运维,服务器

需要输入登入密码,第一次登入的话默认密码是 lam。

ldap搭建,linux,数据库,运维,服务器

接下来第一件事情是会让你修改密码。

ldap搭建,linux,数据库,运维,服务器

然后需要设置ldap Server address 和 Tree suffix。

ldap搭建,linux,数据库,运维,服务器

在Security setting中设置admin。

ldap搭建,linux,数据库,运维,服务器

点击Account types页,在Active account types中设置LDAP suffix 和List attributes。

ldap搭建,linux,数据库,运维,服务器

完成后再在部点击Save按钮,重新用admin账号登入,成功跟本地ldap database关联的话,就能看到之前添加的han.meimei账号的信息。我们可以之后直接在LAM上添加账号或者修改账号信息。

LDAP client 搭建

Step1: 添加LDAP server服务器名称

编辑/etc/hosts文件

sudo vim /etc/hosts

在文件底部添加:

192.168.0.1 saturn.com

Step2: 安装OpenLDAP client

sudo apt -y install libnss-ldap libpam-ldap ldap-utils nscd

在安装过程中,会有如下提示:
设置ldap api,这里填写ldap server的IP: 192.168.0.1
设置dn base,填写dc=saturn,dc=com
选择ldap version,选择3
选择Yes 对Make local root Database admin
选择No 对Does the LDAP database require login
设置 LDAP root account,这里为cn=admin,dc=saturn,dc=com
设置LDAP root account密码,与server端保持一致

Step3: 设置ldap.config

安装完成后,安装过程中的配置会保存在/etc/ldap.config中,如果需要修改ldap配置,可以再次修改这个配置文件。在本例中ldap client 一开始没有连上server端,需要将在ldap.config文件中注释的一行#uri ladp://127.0.0.1/ 改成uri ladp://192.168.0.1:389方才可行,ldap server默认使用TCP 389 端口。

Step4: 设置ldap nss profile

sudo auth-client-config -t nss -p lac_ldap

Step5: 更新pam, 确认LDAP authentication被激活

sudo pam-auth-update

Step6: 修改/etc/nsswitch.conf, 在passwd和group后增加ldap

passwd: compat systemd ldap
group: compat systemd ldap
shadow: compat

如果之后这个服务器想取消使用ldap,把增加的ldap删除即可。

Step7: 修改/etc/pam.d/common-password, 把ldap那行中的use_authtok去掉

修改后 应该显示类似的:

password [success=1 user_unknown=ignore default=die] pam_ldap.so try_first_pass

Step8: 激活账号第一次进入的时候自动创建home directory

在/etc/pam.d/common-session中添加:

session optional pam_mkhomedir.so skel=/etc/skel umask=077
ldap搭建,linux,数据库,运维,服务器

Step9: 重启Name Service Cashe Daemon(NSCD)

sudo systemctl restart nscd
sudo systemctl enable nscd

在上述步骤完成后,可以用很多方式验证ldap client是否与server建立联系:

  1. getent passwd 或者 getent passwd han.meimei (某个ldap账号),会显示ldap server database里用户账号的信息。
  2. ldapsearch -x -h 192.168.0.1 -b dc=saturn,dc=com
  3. 直接在client里输入 sudo su - han.meimei (某个ldap账号)

至此ldap搭建完成,在没有创建local账号的情况下,ldap server端的服务器也能通过ldap账号鉴权登入。

参考资料:
https://computingforgeeks.com/install-and-configure-openldap-server-ubuntu/
https://computingforgeeks.com/install-and-configure-ldap-account-manager-on-ubuntu/
https://computingforgeeks.com/how-to-configure-ubuntu-as-ldap-client/
https://blog.eldernode.com/install-ldap-client-on-ubuntu-20-04/
文章来源地址https://www.toymoban.com/news/detail-760209.html

到了这里,关于LDAP搭建,实现linux账号统一管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用JIRA管理你的项目——(三)基于LDAP用户管理

    JIRA提供了基于LDAP方式的用户管理,也就是用户密码的管理交给LDAP,而JIRA只管理用户在系统中的角色。  相关链接:  用JIRA管理你的项目——(一)JIRA环境搭建  用JIRA管理你的项目——(二)JIRA语言包支持及插件支持  用JIRA管理你的项目——(三)基于LDAP用户管理  要打

    2024年02月03日
    浏览(29)
  • 服务器集群配置LDAP统一认证高可用集群(配置tsl安全链接)-centos9stream-openldap2.6.2

    因之前集群为centos6,已经很久没升级了,所以这次配置统一用户认证也是伴随系统升级到centos9时一起做的配套升级。新版的openldap配置大致与老版本比较相似,但有些地方配置还是有变化,另外,铺天盖地的帮助文档有相当一部分是直接搬砖过来的,所以参考时容易出错,这

    2024年02月05日
    浏览(30)
  • 搭建gerrit服务器+LDAP认证+集成gitewb详细流程

    Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。 本文介绍如何搭建gerrit服务器,以及搭配LDAP认证的

    2024年02月02日
    浏览(34)
  • 全网最全Centos7.9搭建LDAP服务器+图形界面

    该密码是LADP服务器的管理员根密码,输入slappasswd后提示输入密码(123456)与确认密码,系统会输出一串加密后的字符串(保存好加密后的字符串,后面需要使用) 通过ldapmodify进行修改,不建议直接对文件进行修改 ①查看文件  ② 创建目录存放修改文件 ③创建 db .ldif 文件

    2024年02月07日
    浏览(39)
  • LDAP:如何在windows系统下安装LDAP及连接测试

    1、LDAP介绍 LDAP是一个基于X.500标准的轻量目录访问协议,与X.500不同,LDAP协议支持TCP/IP连接。全称为Lightweight Directory Access Protocol(轻量目录访问协议),是用户、设备和客户端与目录服务器通信的标准协议。LDAP协议帮助用户对IT资源进行身份验证和授权,这些资源包括服务器

    2024年02月12日
    浏览(28)
  • docker部署ldap(从docker安装到ldap创建用户)

    服务器信息(linux发行版是redhat): 1.1.需要的安装包 [root@haha redhat]# yum install -y yum-utils 1.2.设置阿里镜像仓库 1.3安装docker [root@haha redhat]#yum install -y docker-ce docker-ce-cli containerd.io 1.4启动docker [root@haha redhat]#systemctl start docker [root@xixi ~]# docker pull osixia/openldap [root@xixi ~]# docker pull osi

    2023年04月12日
    浏览(31)
  • C# -- Novell.Directory.Ldap连接LDAP作简单筛选查询,并处理objectGUID的乱码问题

    LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,LDAP是从X.500目录访问协议的基础上发展过来的,目前的版本是v3.0。与LDAP一样提供类似的目录服务软件还有ApacheDS、Active Directory、Red Hat Directory Service 。 LDAP作为一个是轻量目录服务软件,与关系型数据库不同,它有

    2024年02月04日
    浏览(26)
  • LDAP协议

    LDAP LDAP基础 LDAP应用特性 全局编录服务器 LDAP定义

    2024年02月11日
    浏览(23)
  • springboot集成Ldap

    一、什么是Ldap 轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。 二、为什么需要Ldap 这里举个例子,一个公司内部有很多系统,每个系统都

    2024年02月14日
    浏览(23)
  • LDAP简介

    LDAP简介: LDAP是LightWeight Directory Access Protocol的简称,是一种轻量目录访问协议。 它是基于X.500标准的,可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAP man RFC网页中找到。 简单来说,LDAP是

    2024年02月14日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包