如何在Linux中查看LDAP? (linux 查看ldap)

LDAP (Lightweight Directory Access Protocol) 是一个在网络中按照目录形式存储信息的协议。LDAP 使用树形结构来存储数据,并且可以在网络上共享,使得不同的进程可以访问它。

LDAP 在大型的组织中有广泛的应用,如企业、大学或等组织。在这些组织中,LDAP 可以用来存储和管理各种信息,包括人员和组织架构信息等。

本文将介绍如何在 Linux 系统中查看和管理 LDAP。

一、安装 LDAP

在 Linux 系统中,有多个 LDAP 服务器可供选择。其中比较常见的有 OpenLDAP 和 389 Directory Server。本文将以 OpenLDAP 为例。

要安装 OpenLDAP,请打开 Linux 终端并运行以下命令:

“`

sudo apt-get update

sudo apt-get install slapd ldap-utils

“`

在安装过程中,您将被要求设置 LDAP 管理员密码。请确保密码复杂度高,并设置一个强密码。

安装完成后,可以使用以下命令检查 OpenLDAP 是否已成功安装:

“`

sudo systemctl status slapd

“`

二、使用 ldapsearch 命令查看 LDAP

在 LDAP 中,所有数据都存储在目录树中。目录树中的每个条目称为目录项(Entry)。每个目录项都有一个唯一的标识符(Distinguished Name,DN),这个 DN 是一个类似于文件路径的字符串。

例如,对于公司的员工目录树,DN 可能类似于以下格式:CN=John Doe,OU=Marketing,DC=example,DC=com

每个 DN 包含四个基本元素:

– CN(常规名字),即通常所说的名字。

– OU(机构单元),即组织或部门名称。

– DC(域组件),指服务器所在的域。

要使用 ldapsearch 命令查看 LDAP 的目录树,可以运行以下命令:

“`

ldapsearch -x -b “dc=example,dc=com” -D “cn=admin,dc=example,dc=com” -W

“`

其中,-x 参数表示使用简单身份验证,-b 参数表示要搜索的根节点的 DN,-D 参数表示管理员的 DN。-W 参数表示系统将提示您输入管理员密码。

如果一切正常,您将看到 LDAP 中的目录树。

三、使用 ldapadd 添加条目

要在 LDAP 中添加新目录项,可以使用 ldapadd 命令。以下是添加新的用户目录项的示例资源文件:

“`

dn: cn=John Doe,ou=People,dc=example,dc=com

objectclass: top

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

cn: John Doe

sn: Doe

givenname: John

ml: john.doe@example.com

uid: johndoe

userpassword: {SHA}nU4hRLFeymwLf5bM7ffH5Z5dPsQ=

“`

在此示例中,DN 是 cn=John Doe,ou=People,dc=example,dc=com。objectclass: top 表示新目录项是根目录上一级的顶级目录项。其他的 objectclass 将定义新条目的属性。

要添加此新目录项,请将此示例资源文件保存为文件(例如“new-user.ldif”),然后运行以下命令:

“`

ldapadd -x -D “cn=admin,dc=example,dc=com” -W -f new-user.ldif

“`

其中,-f 参数表示要导入的文件的路径。

四、使用 ldapmodify 修改条目

要修改现有的目录项,请使用 ldapmodify 命令。以下是修改新用户目录项中“ml”属性的示例资源文件:

“`

dn: cn=John Doe,ou=People,dc=example,dc=com

changetype: modify

replace: ml

ml: newjohn.doe@example.com

“`

在此示例中,DN 是 cn=John Doe,ou=People,dc=example,dc=com。指定 changetype: modify 表示对现有目录项进行修改。replace: ml 指定您要修改的属性名称。在这里,我们将“ml”属性设置为新值 newjohn.doe@example.com。

要将此更改应用于目录,请将示例资源文件保存为文件(例如“modify-user.ldif”),然后运行以下命令:

“`

ldapmodify -x -D “cn=admin,dc=example,dc=com” -W -f modify-user.ldif

“`

五、使用 ldapdelete 删除条目

要删除现有的目录项,请使用 ldapdelete 命令。以下是删除新用户目录项的示例资源文件:

“`

dn: cn=John Doe,ou=People,dc=example,dc=com

changetype: delete

“`

在此示例中,DN 是 cn=John Doe,ou=People,dc=example,dc=com。指定 changetype: delete 表示您要删除目录项。

要将此更改应用于目录,请将示例资源文件保存为文件(例如“delete-user.ldif”),然后运行以下命令:

“`

ldapdelete -x -D “cn=admin,dc=example,dc=com” -W -f delete-user.ldif

“`

六、结论

在本文中,我们介绍了如何在 Linux 系统中使用 OpenLDAP 查看、添加、修改和删除 LDAP 目录项。LDAP 是一种功能强大的协议,可用于管理许多类型的信息,包括组织架构和人员信息等。掌握 Linux 中的 LDAP 可以帮助您更好地管理组织中的信息,并提高工作效率。

相关问题拓展阅读:

SSSD连接LDAP配置

失败记录

System Security Services Dameon,能够实现linux的远程命名服务和远程认证功能。游销

优点:

当前hadoop集群使用kerberos进行服务间与外部jdbc用户的认证,使用公司LDAP作为上层应用(HUE等)的用户管理认证,使用sentry用来基本授权,sentry用户映射的是各服务所在机器的Linux用户。

虽然不用在上层应用频繁添加用户神森游,但是还需要在春耐授权阶段在机器上加用户

虽然可以用ansible批量添加,但依然需要手动触发。

随便找了一台能连上公司LDAP的机器,可在安装ldap客户端

后使用

进行验证连通性,获取到的用户信息格式是

开始几个步骤主要参考:

以root身份操作

vim /etc/sssd/sssd.conf进行配置,其中domains参数只是方便切换不同的配置,没有实际意义。中与的配置与底下的对应起来就好。

启动或重启服务

使用id username或者su username进行验证,始终报No such user

使用下面方法查看日志:

开始看的的问题是

经过各种参数调整,已经能retrive users了(即上述最终的配置),日志中显示的搜索路径与手动ldapsearch看起来也是一致的:

但依然在id username时No such user

能看到的信息是因为找不到uid与guid属性,所以无法自动创建linux用户。

关于linux 查看ldap的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何在Linux中查看LDAP? (linux 查看ldap)