lsldap 命令

注: 如果使用 UID> 2 ^ 31 创建 LDAP 用户,那么 lsldap 命令会将其显示为负数。

用途

显示已配置的 LDAP 目录服务器的命名服务对象。

语法

lsldap [-a] [ entity [ entry_name | filter ]]

描述

lsldap 命令显示来自配置的 LDAP 目录服务器的命名服务对象。 它通过 secldapclntd 守护程序查询 LDAP 服务器。 特定实体的部分或全部对象可由 lsldap 命令列出。 缺省情况下, lsldap 命令仅显示返回对象的专有名称 (DN)。 此外,可以使用 -a 标志来查看属性。

lsldap 命令支持以下实体:
实体 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 命令返回的通常可读属性相同的属性。 对于所有其他实体,无论哪个用户运行该命令,都会生成相同的输出。

示例

  1. 要列示主机实体的所有条目,请输入以下命令:
    lsldap hosts
    返回类似以下内容的信息:
    dn: 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
  2. 要列示主机 starfish 及其所有属性,请输入以下命令:
    lsldap -a hosts starfish
    返回类似以下内容的信息:
    dn: 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
  3. 要列示名称以字母 b 开头的用户,请输入以下命令:
    lsldap passwd "b*"
    返回类似以下内容的信息:
    dn: uid=bin,ou=people,cn=aixdata
    
     
    
    dn: uid=bob,ou=people,cn=aixdata
  4. 要列示用户 foo 及其所有属性,请输入以下命令:
    lsldap -a passwd foo
    返回类似以下内容的信息:
    dn: 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
  5. 要列出运行 /usr/bin/ksh的用户,请输入以下命令:
    lsldap passwd loginshell=/usr/bin/ksh
    返回类似以下内容的信息:
    dn: 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