lsldap 命令
用途
显示已配置的 LDAP 目录服务器的命名服务对象。
语法
lsldap [-a] [ entity [ entry_name | filter ]]
描述
lsldap 命令显示来自配置的 LDAP 目录服务器的命名服务对象。 它通过 secldapclntd 守护程序查询 LDAP 服务器。 特定实体的部分或全部对象可由 lsldap 命令列出。 缺省情况下, lsldap 命令仅显示返回对象的专有名称 (DN)。 此外,可以使用 -a 标志来查看属性。
| 实体 | objectClass | 缺省属性名称 |
|---|---|---|
| aapolicies | ibm-aixAccountingAdminPolicy | ibm-aixAdminPolicyName |
| aaprojects | ibm-aixAccountingProject | ibm-aixProjectName |
| admkeystore | ibm-usrkeystore | cn |
| aixpert | ibm-aixAixpert | ibm-aixpertLabel |
| 别名 | mailGroup | cn |
| auditclass | AIXAuditClassStanza | auditclassstanza |
| auditconfig | AIXAuditConfig | auditconfig |
| authorizations | ibm-authorization | cn |
| automount | automountMap nisObject | automountMapNamenisMapName |
| bootparams | bootableDevice | cn |
| domains | ibm-aixRBACdomain | ibm-aixRBACdomainName |
| domobjs | ibm-aixRBACdomainObject | ibm-aixRBACdomainObjectName |
| efscookies | ibm-efskscookies | cn |
| ethers | ieee802Device | cn |
| 组 | posixgroupAIXAccessGroup | cngroupname |
| grpkeystore | ibm-grpkeystore | cn |
| 主机 | ipHost | cn |
| netgroup | ipNetgroup | cn |
| networks | ipNetwork | cn |
| passwd | posixAccountAIXAccount | uidusername |
| privcmds | ibm-privcmd | cn |
| privdevs | ibm-privdev | cn |
| protocols | ipProtocol | cn |
| roles | aixaccessroles | rolename |
| rpc | oncRpc | cn |
| 服务 | ipService | cn |
| privfiles | ibm-privfile | cn |
| usrkeystore | ibm-usrkeystore | cn |
automount 实体具有两个对象类。 lsldap 命令通过始终返回 automountMap 对象 (如果找到任何对象) ,并仅在没有 automountMap 对象的情况下返回 nisMap 对象,来处理具有高于 nisMap 的优先级的 automountMap 。
对于 passwd 和组实体, lsldap 命令根据 LDAP 客户机配置返回正确的对象。 然而,必须对 lsldap passwd attribute=value 查询提供对象类相应的正确属性名称。
如果未从命令行指定实体名称,那么 lsldap 命令将显示实体的容器条目以及作为这些容器的同代的任何其他条目。 用户必须具有 root 用户许可权,才能列示容器条目。
entry_name 参数是要查询的对象的名称。 例如,如果实体为 passwd,那么
entry_name 为用户帐户名。 entry_name 参数等同于 default attribute name = entry_name。 对于子串搜索, lsldap 命令接受 entry_name 中的 * 通配符。 如果未指定 entry_name,那么返回所有条目。
如果不使用 entry_name,也可以提供 filter 来搜索与某些条件匹配的条目。 简单的过滤器可以指定为 attributename=attributevalue,其中 attributename 是 LDAP 属性名称。
lsldap 命令将结果打印到 stdout。 如果未指定 -a 标志,那么 lsldap 将打印以 DN 形式找到的条目,每个 DN 以空白行分隔。 如果指定了 -a 标志,那么将以 ldif 格式打印每个条目,并在条目之间使用空白行。
标志
| 项 | 描述 |
|---|---|
| -a | 显示返回对象的所有属性。 在缺省情况下,只显示对象的 DN。 |
退出状态
成功后, lsldap 命令将返回 0。 发生故障时,将返回非零值,并将下列其中一条错误消息写入 stderr:
| 项 | 描述 |
|---|---|
| EIO | 连接错误。 |
| EINVAL | 参数无效。 |
| EPERM | 没有运行操作的许可权。 |
| ENOMEM | 无足够内存。 |
| 其他 errno | 其他错误。 |
安全性
lsldap 命令可以由任何用户运行。 其所有者为 root 用户和安全组,并具有访问许可权 555。
当非特权用户对启用了 netgroup 的 LDAP 模块运行 lsldap –a passwd 命令时,如果 ldap.cfg 文件中的 DisplayNetgroupUserInfo 属性设置为 no ,那么 lsldap 命令不会显示用户信息。 缺省情况下,通过运行 lsldap 命令(不考虑您的用户特权),将用户信息显示在已启用 netgroup 的 LDAP 模块中。
当您按 root 用户列出带有 -a 标志的 passwd 实体时, lsldap 将返回找到的用户的所有属性。 但是,当同一命令由非特权用户运行时,除了对象类信息外, lsldap 仅返回与 lsuser 命令返回的通常可读属性相同的属性。 对于所有其他实体,无论哪个用户运行该命令,都会生成相同的输出。
示例
- 要列示主机实体的所有条目,请输入以下命令:
返回类似以下内容的信息:lsldap hostsdn: cn=myhost+ipHostNumber=192.3.193.46,ou=Hosts,cn=aixdata dn: cn=starfish+ipHostNumber=192.3.193.47,ou=Hosts,cn=aixdata dn: cn=loopback+ipHostNumber=127.0.0.1,ou=Hosts,cn=aixdata - 要列示主机
starfish及其所有属性,请输入以下命令:
返回类似以下内容的信息:lsldap -a hosts starfishdn: cn=starfish+ipHostNumber=192.3.193.47,ou=Hosts,cn=aixdata objectClass: top objectClass: ipHost objectClass: device ipHostNumber: 192.3.193.47 cn: loopback cn: localhost - 要列示名称以字母
b开头的用户,请输入以下命令:
返回类似以下内容的信息:lsldap passwd "b*"dn: uid=bin,ou=people,cn=aixdata dn: uid=bob,ou=people,cn=aixdata - 要列示用户
foo及其所有属性,请输入以下命令:
返回类似以下内容的信息:lsldap -a passwd foodn: uid=foo,ou=people,cn=aixdata uid: foo objectClass: account objectClass: posixAccount objectClass: shadowAccount objectClass: top cn: foo uidNumber: 259 gidNumber: 1 homeDirectory: /home/foo loginShell: /usr/bin/ksh shadowlastchange: 12740 userpassword: {crypt}rNnLQ9TAD2u/k shadowmin: 5 - 要列出运行 /usr/bin/ksh的用户,请输入以下命令:
返回类似以下内容的信息:lsldap passwd loginshell=/usr/bin/kshdn: uid=bin,ou=people,cn=aixdata dn: uid=bob,ou=people,cn=aixdata dn: uid=foo,ou=people,cn=aixdata
限制
lsldap 命令依赖于 secldapclntd 守护程序来工作。
位置
/usr/sbin/lsldap