NetWorker:如何使用authc_config脚本配置 LDAPS 验证

Summary: 本知识库文章提供有关如何配置安全轻量级目录访问协议 (LDAPS) 与 NetWorker 身份验证集成的说明。此过程可用于集成 Microsoft Active Directory (AD) 或 Linux LDAP 外部身份验证服务。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

本文可以分为以下几个部分。在继续之前,请仔细查看每个部分:

 

先决条件:

  • 确定哪个主机是 authc server这在较大的 NetWorker 数据区中非常有用。在具有单个 NetWorker 服务器的较小数据区中,NetWorker 服务器是身份认证服务器。 
  • 确定用于身份验证服务的 Java Runtime Environment。
  • 设置命令行变量以帮助导入用于使用 NetWorker 外部身份验证的 SSL 的 CA 证书。

设置 SSL:

  • 将用于 LDAPS 身份认证的证书导入到身份认证服务运行时环境 cacerts 密钥库

配置外部机构资源:

  • 在身份验证服务中创建外部机构资源。
  • 确定要用于 NetWorker 的外部用户或组。
  • 定义哪些外部用户或组有权访问 NetWorker Management Console (NMC)。
  • 定义外部用户和组具有的 NetWorker 服务器权限。
  • (可选)为外部用户或组配置FULL_CONTROL安全权限。

先决条件:

要使用 LDAPS,您必须将 CA 证书(或证书链)从 LDAPS 服务器导入到 NetWorker 身份验证服务器的 Java 中 cacerts 密钥库

  1. 确定哪个主机是 NetWorker 身份验证服务器。这可以在 NetWorker Management Console (NMC) 服务器的 gstd.conf 文件,请执行以下操作:
Linux: /opt/lgtonmc/etc/gstd.conf
Windows: C:\Program Files\EMC NetWorker\Management\GST\etc\gstd.conf
 
记下 。 gstd.conf 文件包含字符串 authsvc_hostname 它定义用于处理 NetWorker Management Console (NMC) 的登录请求的身份验证服务器。
  1. 在 NetWorker 身份认证服务器上,标识所使用的 Java 实例。
Windows:
A. 在 Windows 搜索栏中搜索“关于”
B.从关于中,单击高级系统设置
C.从系统属性中,单击环境变量
D.NSR_JAVA_HOME变量定义 NetWorker 使用的 Java 运行时环境的路径 authc中的用户名和密码:

NSR_JAVA_HOME变量定义 Java 运行时环境的路径

      1. E.从管理命令提示符设置命令行变量,指定在上述步骤中确定的 java 安装路径:
set JAVA="Path\to\java"
示例:
 设置 JAVA 变量 Windows 的示例  
促进 java keytool 命令,并确保正确 cacerts 导入 CA 证书。此变量在命令行会话关闭后被删除,并且不会干扰任何其他 NetWorker 操作。
 

Linux:

      1. A. 选中 /nsr/authc/conf/installrc 文件,以查看配置身份验证服务时使用的 Java 位置:
sudo cat /nsr/authc/conf/installrc
示例:
[root@nsr ~]# cat /nsr/authc/conf/installrc
JAVA_HOME=/opt/nre/java/latest
注意: 此变量仅适用于 NetWorker 进程。有可能 echo $JAVA_HOME 将返回不同的路径;例如,如果还安装了 Oracle Java Runtime Environment (JRE)。在下一步中,请务必使用 $JAVA_HOME NetWorker 的 /nsr/authc/conf/installrc 文件中包含空格。

       

        B. ​​​​设置命令行变量,指定在上述步骤中确定的 Java 安装路径。

JAVA=/path/to/java
示例:
设置 java 变量 Linux 
促进 java keytool 命令,并确保正确 cacerts 导入 CA 证书。此变量在命令行会话关闭后被删除,并且不会干扰任何其他 NetWorker 操作。

 

设置 SSL

要使用 LDAPS,您必须将 CA 证书(或证书链)从 LDAPS 服务器导入 JAVA 信任密钥库。这可以通过以下过程完成:

注意:以下过程使用按照“前提条件”部分设置的命令行变量。如果未设置命令行变量,请改为指定完整 Java 路径。

在继续之前,在 keytool 从 NetWorker 19.13 开始使用的命令。 

19.12.x(及更早版本) keytool 命令:
keytool [option] -keystore "FULL/PATH/TO/CACERTS" -storepass changeit
19.13.x 及更高版本: keytool 命令:
keytool [OPTION] -cacerts -storepass changeit
在更新本文时,这两种方法都适用于 19.13 及更高版本,但可能会出现一条警告,指出 -keystore 方法已弃用。如果您使用的是 NetWorker 19.13.x(或更高版本),则可以修改以下命令以使用新的 keytool 根据需要使用语法。
 
1.打开管理/root 命令提示符。
2.显示信任密钥库中的当前可信证书的列表:
Windows:
%JAVA%\bin\keytool -list -keystore %JAVA%\lib\security\cacerts -storepass changeit
Linux:
$JAVA/bin/keytool -list -keystore $JAVA/lib/security/cacerts -storepass changeit
3.查看列表中与您的 LDAPS 服务器匹配的别名(该别名可能不存在)。您可以使用操作系统 grep 或 findstr 命令替换为上述命令,以缩小搜索范围。如果 LDAPS 服务器中有过时或现有的 CA 证书,请使用以下命令将其删除:

Windows:

%JAVA%\bin\keytool -delete -alias ALIAS_NAME -keystore %JAVA%\lib\security\cacerts -storepass changeit
Linux:
$JAVA/bin/keytool -delete -alias ALIAS_NAME -keystore $JAVA/lib/security/cacerts -storepass changeit
注意:ALIAS_NAME替换为步骤 2 中的旧证书或过期证书的别名。
    4.使用 OpenSSL 工具从 LDAPS 服务器获取 CA 证书的副本。
    openssl s_client -showcerts -connect LDAPS_SERVER:636
    • 默认情况下,Windows 主机不包含 openssl 程序。如果无法在 NetWorker 服务器上安装 OpenSSL,则可以直接从 LDAPS 服务器导出证书;但是,强烈建议使用 OpenSSL 实用程序。 
    • Linux 通常安装了 openssl。如果环境中存在 Linux 服务器,则可以使用其中的 openssl 来收集证书文件。这些可以复制到 Windows 并在 Windows 上使用 authc server
    • 如果您没有 OpenSSL,并且无法安装,请 AD 管理员通过导出为 Base-64 编码的 x.509 格式来提供一个或多个证书。
    • LDAPS_SERVER替换为您的 LDAPS 服务器的主机名或 IP 地址。
    5.以上命令以隐私增强邮件 (PEM) 格式输出 CA 证书或证书链,例如:
    -----BEGIN CERTIFICATE-----
    MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
    ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
    ...
    7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
    m4mGyefXz4TBTwD06opJf4NQIDo=
    -----END CERTIFICATE-----
    
    注意:如果存在证书链,则最后一个证书是 CA 证书。您必须按顺序(自上而下)(以 CA 证书结尾)导入链中的每个证书。
     
    6.复制证书,起始于 ---BEGIN CERTIFICATE--- 并以 ---END CERTIFICATE--- 并将其粘贴到新文件中。如果存在证书链,则必须对每个证书执行此操作。
    7.将证书导入 JAVA 信任密钥库:
    Windows:
    %JAVA%\bin\keytool -import -alias ALIAS_NAME -keystore %JAVA%\lib\security\cacerts -storepass changeit -file \PATH_TO\CERT_FILE
    

    Linux:

    $JAVA/bin/keytool -import -alias ALIAS_NAME -keystore $JAVA/lib/security/cacerts -storepass changeit -file /PATH_TO/CERT_FILE
    • ALIAS_NAME替换为导入证书的别名(例如,RCA(根 CA))。导入一个证书链的多个证书时,每个证书必须具有不同的别名,并且必须单独导入。还必须按步骤 5(自上而下)的顺序导入证书链。
    • PATH_TO\CERT_FILE替换为您在步骤 6 中创建的证书文件的位置。
    8.系统将提示您导入证书,请键入 yes,然后按 Enter 键。
    C:\Users\administrator>%JAVA%\bin\keytool -import -alias RCA -keystore %JAVA%\lib\security\cacerts -storepass changeit -file C:\root-ca.cer
    Owner: CN=networker-DC-CA, DC=networker, DC=lan
    Issuer: CN=networker-DC-CA, DC=networker, DC=lan
    Serial number: 18xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ...
    ...
    ...
    
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    
    9.确认证书显示在密钥库中:
    Windows:
    %JAVA%\bin\keytool -delete -alias ALIAS_NAME -keystore %JAVA%\lib\security\cacerts -storepass changeit

    Linux:

    $JAVA/bin/keytool -delete -alias ALIAS_NAME -keystore $JAVA/lib/security/cacerts -storepass changeit
    注意:管道 (|操作系统 grep 或 findstr 命令以缩小结果范围。
    C:\Users\administrator>%JAVA%\bin\keytool -list -keystore %JAVA%\lib\security\cacerts -storepass changeit | findstr RCA
    RCA, Jan 15, 2025, trustedCertEntry,
    
    10.重启 NetWorker 服务器。 
    Windows: 
    net stop nsrd
    net start nsrd
    Linux: 
    nsr_shutdown
    service networker start
    注意:重新启动 NetWorker 服务器服务以确保 authc 读取 cacerts 文件,并检测用于与 LDAP 服务器进行 SSL 通信的导入证书。

     

    配置外部机构资源

    此过程可以从 NetWorker 管理控制台 (NMC) 或 NetWorker Web 用户界面执行:

    本文中的过程重点介绍如何使用 NetWorker 软件随附的脚本。NetWorker 身份认证服务器包括 authc_config 以下位置的脚本模板:

    Windows: C:\Program Files\EMC NetWorker\nsr\authc-server\scripts\
    Linux: /opt/nsr/authc-server/scripts/
    注意:显示的路径假定使用默认的 NetWorker 安装路径。如果 NetWorker 安装在另一个位置,请相应地修改路径。
     
    有两个脚本可供使用。使用的脚本取决于所使用的外部身份验证方法。使用不正确的脚本可能会导致失败。
    • 对于 Microsoft Active Directory请使用 authc-create-ad-config.x.template
    • 对于 Linux LDAP(OpenLDAP 等),请使用 authc-create-ldap-config.x.template
    注意: 脚本包括 .bat.template 如果身份验证服务器是 Microsoft Windows,并且 .sh.template 如果是 Linux。

    创建所需模板文件的拷贝并删除 .template 从文件名。这会给您留下一个 .bat 或 .sh 在填充外部机构详细信息后从命令行运行的脚本。

    示例内容来自 authc-create-ad-config.sh.template中的用户名和密码:
    authc_config -u administrator -p <password> -e add-config \
    -D "config-tenant-id=<tenant_id>" \
    -D "config-active-directory=y" \
    -D "config-name=<authority_name>" \
    -D "config-domain=<domain_name>" \
    -D "config-server-address=<protocol>://<hostname_or_ip_address>:<port>/<base_dn>" \
    -D "config-user-dn=<user_dn>" \
    -D "config-user-dn-password=<user_password>" \
    -D "config-user-search-path=<user_search_path>" \
    -D "config-user-id-attr=sAMAccountName" \
    -D "config-user-object-class=<user_object_class>" \
    -D "config-group-search-path=<group_search_path>" \
    -D "config-group-name-attr=cn" \
    -D "config-group-object-class=group" \
    -D "config-group-member-attr=member" \
    -D "config-user-search-filter=" \
    -D "config-group-search-filter=" \
    -D "config-search-subtree=n" \
    -D "config-user-group-attr=memberOf" \
    -D "config-object-class=objectClass"
    注意:内部脚本中的任意值 < > 必须更改。不在里面的值 < > 可以保持原样。 

    下表详细介绍了在配置文件中定义的参数。

    config-tenant-id
    可以在可能使用多种身份验证方法或必须配置多个机构的环境中使用租户。创建租户是可选操作。您可以使用默认租户 config-tenant-id=1
    • 使用默认租户时,您可以使用“域\用户”登录到 NMC
    • 如果租户(使用非默认值),则必须在身份验证期间指定该租户 “租户\域\用户”
    config-active-directory 如果您使用的是 Microsoft Active Directory (AD) 服务器:y这是设备中的默认选项。 authc-create-ad-config.x.template
    如果您使用的是 LDAP 服务器(例如:OpenLDAP): n. 这是 authc-create-ldap-config.x.template
    config-name 此名称只是要添加到 NetWorker 的身份验证配置的标识符。 
    config-domain 这是用于登录 NetWorker 的域名,例如: networker.lan。此字段应与域的域组件 (DC) 值匹配。
    config-server-address <protocol>://<hostname_or_ip_address>:<port>/<base_dn>
    协议:
    • 指定 ldap 如果使用非 SSL 通信。
    • 指定 ldaps 如果要配置 SSL 通信。
    • ldapldaps 必须为小写。
    Hostname/IP address
    • 指定 AD 或 LDAP 服务器的完全可解析主机名或 IP 地址。
    端口:
    • 如果您使用的是 LDAP,请指定端口 389
    • 如果您使用的是 LDAPS,请指定端口 636
    基本 DN
    • 指定由域的域组件 (DC) 值组成的基准可分辨名称 (DN),例如: DC=my,DC=domain,DC=com。 
    config-user-dn 对 LDAP 或 AD 目录拥有完全读取访问权限的用户帐户的完整可分辨名称 (DN)。 CN=Administrator,CN=Users,DC=my,DC=domain,DC=com
    config-user-dn-password 指定 config-user-dn 中指定的帐户的密码。
    config-user-search-path 此字段可以留空,在这种情况下,authc 可以查询整个域。必须先授予 NMC/NetWorker 服务器访问权限,然后这些用户/组才能登录 NMC 并管理 NetWorker 服务器。如果在 config-server-address,指定到域的相对路径(不包括基本 DN)。
    config-user-id-attr 与 LDAP 或 AD 层次结构中的用户对象关联的用户 ID。
    • 对于 LDAP,此属性通常为 uid。 uid
    • 对于 AD,此属性通常为 sAMAccountName。 sAMAccountName
    config-user-object-class 标识 LDAP 或 AD 层次结构中的用户的对象类。 inetOrgPerson (LDAP) 或 user AD
    config-group-search-path 喜欢 config-user-search-path 此字段可以留空,在这种情况下 authc 能够查询整个域。如果在 config-server-address,指定到域的相对路径(不包括基本 DN)。
    config-group-name-attr 标识组名称的属性。例如: cn
    config-group-object-class 标识 LDAP 或 AD 层次结构中的组的对象类。
    • 对于 LDAP,使用 groupOfUniqueNames 或 groupOfNames
      • 提醒:: 除了 groupOfUniqueNamesgroupOfNames。  使用 LDAP 服务器中配置的任何对象类。
    • 对于 AD,使用 group
    config-group-member-attr 组中的用户的组成员身份。
    • 对于 LDAP:
      • 当组对象类为 groupOfNames,该属性通常为 member
      • 当组对象类为 groupOfUniqueNames,该属性通常为 uniquemember
    •  对于 AD,值通常为 member。 member
    config-user-search-filter 选项NetWorker 身份认证服务可以用于在 LDAP 或 AD 层次结构中执行用户搜索的筛选器。RFC 2254 定义筛选器格式。
    config-group-search-filter 选项NetWorker 身份认证服务可以用于在 LDAP 或 AD 层次结构中执行组搜索的筛选器。RFC 2254 定义筛选器格式。
    config-search-subtree 选项A yes 或 no 指定外部机构是否应执行子树搜索的值。
    默认值: no
    config-user-group-attr 选项此选项支持在用户对象的属性中识别用户的组成员身份的配置。例如,对于 AD,指定属性 memberOf memberOf
    config-object-class 选项外部身份认证机构的对象类。RFC 4512 定义对象类。默认值: objectclass

     

    示例:
    authc_config -u administrator -p 'NetWorker_Administrator_Password' -e add-config \
    -D "config-tenant-id=1" \
    -D "config-active-directory=y" \
    -D "config-name=ad" \
    -D "config-domain=networker.lan" \
    -D "config-server-address=ldaps://dc.networker.lan:636/DC=networker,DC=lan" \
    -D "config-user-dn=CN=Administrator,CN=Users,DC=networker,DC=lan" \
    -D "config-user-dn-password=XXXXXXXX" \
    -D "config-user-search-path=" \
    -D "config-user-id-attr=sAMAccountName" \
    -D "config-user-object-class=user" \
    -D "config-group-search-path=" \
    -D "config-group-name-attr=cn" \
    -D "config-group-object-class=group" \
    -D "config-group-member-attr=member" \
    -D "config-user-search-filter=" \
    -D "config-group-search-filter=" \
    -D "config-search-subtree=y" \
    -D "config-user-group-attr=memberOf" \
    -D "config-object-class=objectClass"
    填充脚本后,从管理员命令提示符 (Windows) 或 root SSH 会话 (Linux) 运行它。
    [root@nsr ~]# /opt/nsr/authc-server/scripts/authc-create-ad-config.sh
    Configuration ad is created successfully.

    配置 NMC 以接受外部身份验证:

    1. 使用管理员账户登录 NMC 服务器。
    2. 导航至 Setup->Users and Roles->NMC Roles。>3.
    3. 将从上述步骤收集的组 DN 添加到该 AD 组相应角色的“外部角色”字段。完全管理员应具有“控制台应用程序管理员”和“控制台安全管理员”角色。(有关这些角色的更多信息,请参阅 NetWorker 安全配置指南。)
    NMC 外部角色
     

    配置 NetWorker 服务器外部用户权限:

    1. 以默认 NetWorker 管理员帐户的身份,连接到 NetWorker 服务器。
    2. 转至 Server-->User Groups 
    3. 组 DN 添加到该 AD 组相应角色的“外部角色”字段中。完全管理员应具有“应用程序管理员”和“安全管理员”权限。
    NetWorker 用户组外部角色
    或者,可以使用 nsraddadmin NetWorker 服务器上的命令:
    nsraddadmin -e "USER/GROUP_DN"
    示例:
    [root@nsr ~]#  nsraddadmin -e "CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan"
    134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Security Administrators' user group.
    134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Application Administrators' user group.

    访问 NMC:

    您应该可以使用已获得访问权限的外部用户访问 NMC 和 NetWorker 服务器。
    使用外部用户登录 NMC
    登录后,AD/LDAP 用户名将显示在 NMC 的右上角:
    NMC 中显示经过身份验证的外部用户

    额外的安全权限

    (可选)如果您希望 AD/LDAP 组能够管理外部机构,则必须在 NetWorker 服务器上执行以下操作。

    使用您想要授予的 AD 组 DN FULL_CONTROL 运行权限:
    authc_config -u Administrator -p 'NetWorker_Administrator_Password' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="AD/LDAP_group_dn"
    示例:
    [root@nsr ~]# authc_config -u Administrator -p '!Password1' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan"
    Permission FULL_CONTROL is created successfully.
    
    nve:~ # authc_config -u Administrator -p '!Password1' -e find-all-permissions
    The query returns 2 records.
    Permission Id Permission Name Group DN Pattern                Group DN
    1             FULL_CONTROL    ^cn=Administrators,cn=Groups.*$
    2             FULL_CONTROL                                    CN=NetWorker_Admins,OU=DELL,dc=networ...

    Additional Information

    Affected Products

    NetWorker

    Products

    NetWorker
    Article Properties
    Article Number: 000020799
    Article Type: How To
    Last Modified: 14 Aug 2026
    Version:  7
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.