每次执行一个命令时,都需要输入用户名和口令。
CLI 提供了一个 login 命令,允许将用户名/口令对存储在管理员主目录中的证书文件中。此文件名为 .apocpass,对它的访问受到严格的限制。运行 login 命令时,CLI 将检查主目录中是否存在 .apocpass 文件。如果该文件存在但不具有正确的权限(即 600),login 命令将退出并报告错误。如果已指定用户名,将提示用户输入口令。如果未指定用户名,将提示用户输入用户名和口令。系统将使用匿名访问来验证输入的用户名和口令。如果不支持匿名访问,将提示用户输入授权的 DN 和口令。如果成功通过验证,将在 .apocpass 文件中添加一个条目。此条目的关键字由服务器/端口/基本 DN 和用户名组成。
例如,用户 "jmonroe" 可以使用关键字 cdelab1.ireland.sun.com:389;o=apoc:jmonroe 为位于端口 389、基本条目为 o apoc 的服务器 cdelab1.ireland.sun.com 存储一个口令。存储的值为用户 DN 和口令。通过这种方式,可以存储此存储系统后端的多个用户的用户名/口令对。类似地,也可以为其他存储系统后端存储用户名/口令对。成功运行 login 命令后,就可以执行其他 CLI 命令了,无需再指定用户名或口令。
对于其他命令,CLI 将首先检查是否存在此用户的 .apocpass 文件。如果不存在,将提示用户输入用户名和口令。如果输入的用户名和口令成功通过验证,将执行命令。如果证书文件不存在,但已在命令行中指定了用户名,CLI 将查找与此主机、端口、基本 DN 和用户名对应的条目。如果存在对应的条目,将使用存储的用户 DN 和口令来执行命令;否则,将提示用户输入口令。如果未在命令行中指定用户名,将在 .apocpass 文件中搜索使用主机/端口和基本 DN 组合的关键字。如果此组合只有一个对应的条目,将使用存储的用户 DN 和口令来执行命令。如果存在多个条目,将提示用户输入用户名。如果输入的用户名与某个条目匹配,将使用存储的用户 DN 和口令来执行命令。如果输入的用户名与任何条目都不匹配,将提示用户输入口令。提示用户输入口令之后,将使用 .apocpass 文件中与此主机/端口/基本 DN 组合对应的条目来验证用户名和口令。如果不存在这样的条目,将使用匿名访问进行验证。