目录
基本介绍
服务名词
安装
命令行工具
密码管理
重置管理员密码
管理服务器进程
管理索引
检索方法
管理索引
管理目录数据
测试数据
导出数据
导入数据
查看和比较LDIF 文件数据
数据存储后端
连接设置
启用HTTP/HTTPS 连接
使用REST访问-openDJ3.0
使用证书
安全设定
配置权限和访问控制
访问控制指令(ACI)
权限管理
复制-同步
备份与恢复
监控、记录和警报
问题解决:
无法连接到端口4444“xxxx”上的服务器
例外是javax.net.ssl.SSLHandshakeException:
backend-userRoot.lock 未授予
看:
基本介绍
LDAP 是基于X.500 标准子集的目录服务,其设计主要关注快速搜索(提供索引)和高可用性。另一方面,OpenDJ 是用Java 编写的,并且基于轻量级目录访问协议(LDAP)。支持:
DAPv3 协议。
目录服务标记语言:目录服务标记语言(DSML)(以XML格式描述目录数据和基本目录操作)
超文本协议:超文本传输协议(HTTP)、REST
OpenDJ 还提供以下服务:
提供客户管理工具。支持目录数据的导入、导出、备份和恢复。支持配置管理权限和精细的访问控制。复制同步支持
基本结构
您可以通过ldap-demo 了解总体结构。
LDAP 目录数据被组织成条目,有些属性是必需的,有些是必需的,有些是唯一的。
目录中的LDAP条目被组织成金字塔形,顶部是DC,为了管理方便还添加了UO、CN等组织结构。
LDAP常与AD域控等企业系统平台结合使用,实现统一账户管理,通常用于单点登录。
服务专有名词
BaseDN 通常在配置期间使用CD 标签,但这不是必需的。也可以指定为o=PW,c=CN。
缩写
全名
解释
DN.
识别名称
dn: uid=bjensen,ou=People,ou=company,dc=example,dc=com 显示在条目开头的唯一标识符。它通常由不区分大小写的属性组成。
直流电
域组件
dc=example,dc=com 使用闪回方式将一个域名拆分为多个域名。
基础DN
基于DN的最小单位是DC,最大单位是DN。从命令行或客户端使用
绑定域名
通常,root(超级管理员)用户默认为cn=Directory Manager。
欧
组织单位
组织单位,可以是多个并且可以是OU 深度
J.P
通用名
公共名称通常不会出现在DN 中。 root(超级管理员)用户的默认值是cn=Directory Manager。
经济发展局
“空”条目将在信息导出后将DN 的组织信息保存在文件中。 export-ldif 位于顶层。
后端ID
存储空间(也称后端名称),用户默认为userRoot,系统默认为adminRoot
安装
需要Java环境支持:Java环境。
现已正式提供GUI 模式和命令行模式(Command-Line):详细说明请参见:首页·OpenIdentityPlatform/OpenDJ Wiki·GitHub
选项:
将数据从PDB 后端移动到JE 后端在LDAP 网关上安装OpenDJ REST 要安装OpenDJ DSML 网关
系统环境
/etc/security/limits.conf
opendj 软件nofile 65536
opendj 硬nofile 131072
./设置–cli
./uninstall –cli #卸载
命令行工具
有关使用该工具的详细说明,请参阅./bin/xxx options –help(在Windows 上为./bat/xxx.bat)。
使用过程中使用:
启动和停止进程:start-ds、status、stop-ds、create-rc-script(生成启动脚本) 导出和导入:export-ldif、import-ldif、ldif-diff(比较LDIF 文件) 备份和恢复:backup 、恢复用户管理:ldapmodify、ldapdelete、ldapsearch(查询)、ldapcompare(比较) 配置管理:dsconfig 集群同步:dsreplicationindex 管理:verify-index(验证索引是否正确;必须关闭服务)、rebuild-index
常用通用参数
–trustAll 选项信任所有SSL 证书,包括用于测试的默认自签名证书。 –no-prompt 非交互模式。不受信任的证书客户端执行失败。
在交互式命令行上,为了简单起见,可以省略非必需的默认参数,例如./bin/dsconfig list-connection-handlers。
密码管理
密码策略不仅管理密码,还管理帐户锁定
用户密码策略可以复制和同步,但服务器密码策略配置不可以复制和同步。多个节点需要在每个节点上进行配置。
后端存储使用SSHA哈希
可以配置为强制定期更改密码、首次登录后新用户更改密码、帐户锁定和帐户停用。
[root@tserver121 opendj]# ./bin/ldapsearch –baseDN dc=example,dc=com –bindDN \’cn=目录管理器\’ \'(uid=bjensen)\’ pwdPolicySubentry
dn: uid=bjensen,ou=People,dc=example,dc=com
pwdPolicySubentry: cn=默认密码策略,cn=密码策略,cn=config #默认密码策略
objectClass: 需要pwdValidatorPolicy 对应的验证器设置
重置管理员密码
#生成密码
编码密码–storageScheme SSHA512 –clearPassword 密码
修改配置文件./config/config.ldif。
userpassword: #替换新密码并重启服务
cn: 目录管理器
管理服务器进程
./bin/start-ds 启动后端
./bin/start-ds -N 启动前端
./bin/start-ds -L 使用上次成功启动的配置启动。/config/config.ldif.startok
./bin/start-ds -s 显示系统信息
./bin/stop-ds
./bin/stop-ds -R 重新启动
./bin/stop-ds -r, –stopReason #关闭原因,用于排查问题
启动
./bin/create-rc-script –outputFile /etc/init.d/opendj –userName root #生产启动脚本
chkconfig opendj 打开
启动服务opendj
管理索引
索引对搜索的响应速度很快,因此DN 越具体,系统就越默认提供默认索引,如cn、uid、mail、objectClass 等。
显示未索引的日志grep -B 1 unindexed ./logs/access
#开启指标分析功能
./bin/dsconfig set-backend-prop –setindex-filter-analyzer-enabled:true –trustAll #选择后端,默认为userRoot
当您使用客户端或ldapsearch进行搜索时,结果存储在内存中,可以通过接口cn=monitor读取。
#执行搜索
[root@tserver121 opendj]# ./bin/ldapsearch –bindDN \’cn=目录管理器\’ –baseDN \’cn=userRoot Storage,cn=monitor\’ \'(objectclass=*)\’ 过滤器使用
filter-use: (uid=jdoe) attempts:2 maxmatches:1 message: #hits(使用过滤器的次数),maxmatches(匹配数)
#debugsearchindex 不执行搜索但返回调试信息
[root@tserver121 opendj]# ./bin/ldapsearch –baseDN dc=example,dc=com –bindDN \’cn=目录管理器\’ \'(uid=user.1000)\’ * debugsearchindex
dn: cn=调试搜索
debugsearchindex: 过滤器=(uid=user.1000)[INDEX:uid.equality][COUNT:1] 最终=[COUNT:1]
#未索引
[root@tserver121 opendj]# ./bin/ldapsearch –baseDN dc=example,dc=com –bindDN \’cn=目录管理器\’ \'(uid=*)\’ debugsearchindex
dn: cn=调试搜索
debugsearchindex: 过滤器=(uid=*)[INDEX:uid.presence][NOT-INDEXED]scope=sub[NOT-INDEXED] Final=[NOT-INDEXED] #NOT-INDEXED
[INDEX:index-id] 标识可用于查找此过滤器的匹配项的索引。
[COUNT:entry-count] 指定与过滤器匹配的条目数。
[LIMIT-EXCEEDED]表示服务器维护有匹配的索引,但索引条目的限制超出了指定的值。
[NOT-INDEXED] 表示未找到匹配的索引值或索引键。
如何搜索
我在运行./bin/backendstat 时遇到问题。该进程必须关闭。请参阅未授予backend-userRoot.lock。
./bin/backendstat 列表索引
./bin/backendstat dump-index –indexName 状态详细信息
# – 带或不带属性uid 的搜索速度更快,占用空间更少
./bin/ldapsearch –baseDN dc=example,dc=com –bindDN \’cn=目录管理器\’ \'(uid=*)\’ –
#仅列出电子邮件字段。当您有大量数据时非常有用
./bin/ldapsearch –baseDN dc=example,dc=com –bindDN \’cn=目录管理员\’ \'(uid=*)\’ 电子邮件
(uid=比恩森)
(uid~=bjensen) #similar 看起来不准确
(uid=bj*) #*匹配
(uid=bjensen) #类似的排序似乎不准确。
管理索引
条目限制–setindex-entry-limit:10000 #不常用。基本上默认限制就足够了
backendstat 显示索引状态视图
./bin/verify-index –baseDN dc=example,dc=com –index cn –clean –countErrors #Check
以下情况比较少见
./bin/dsconfig create-backend-index –bindDN \’cn=目录管理器\’ –backend-name myData –index-name cn –setindex-type:equality #创建索引
./bin/dsconfig set-backend-index-prop –bindDN \’cn=Directory Manager\’ –backend-name myData –index-name cn –setindex-type:estimate #创建近似索引
重建索引–baseDN dc=example,dc=com –index cn #重建索引
重建索引–baseDN dc=example,dc=com –rebuildDegraded #重建降级索引
重建索引–baseDN dc=example,dc=com –clearDegradedState #清理并降级
管理目录数据
条目属性定义- 当99-user.ldif 按排序顺序读取模式文件时,将加载存储在config/schema 目录中的所有条目属性设置。
例如,在schema/00-core.ldif 文件中,电子邮件定义如下所示:
属性类型: ( 0.9.2342.19200300.100.1.3 名称( \’Mail\’ \’rfc822Mailbox\’ )
EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch
语法1.3.6.1.4.1.1466.115.121.1.26{256} X 源\’RFC 4524\’ )
#OID 开头为
objectClass:每个条目都有一个标识对象类的属性。
测试数据
#测试数据:config/MakeLDIF 下面是一个模板example.template用于剩余的测试数据和其他基本测试数据。使用make-ldif 生成测试数据文件。
./bin/make-ldif –randomSeed 0 –templateFile ./config/MakeLDIF/example.template –ldifFile /tmp/generated.ldif
导出数据
导出您的数据。离线导出速度很快。您可以指定后端ID。
#–start 20111221230000 #如果停止计划的导出服务器,它将在启动后尝试运行任务。
#–trustAll 选项信任所有SSL 证书,包括用于测试的默认自签名证书。
./bin/export-ldif –bindDN \’cn=目录管理器\’ –includeBranch dc=example,dc=org –backendID userRoot –ldifFile /root/backup.ldif –trustAll
导入数据
导入需要验证的字段
config/schema/99-user.ldif 存储用户定义的属性
导入数据。 import-ldif 命令的参数与export-ldif 匹配。
#–start 20111221230000 #如果停止计划的导出服务器,它将在启动后尝试运行任务。
#–trustAll 选项信任所有SSL 证书,包括用于测试的默认自签名证书。
./bin/import-ldif –bindDN \’cn=目录管理器\’ –includeBranch dc=example,dc=org –backendID userRoot –ldifFile /root/backup.ldif –trustAll
LDIF文件数据查看和比较
LDIF 文件可以使用OpenDJ 提供的系统工具查看,例如ldifsearch、ldifmodify 和ldif-diff。
数据存储-Backends
提供JE 和PDB 类型的选择。常用的PDB 类型。可以通过命令切换使用类型
默认位置:db/userRoot/
使用./bin/dsconfig 命令更改参数会更改参数。
./config/config.ldif和更改前的配置文件存在
./config/archived-configs 目录
./bin/dsconfig –help-all #显示功能
创造
dsconfig create-backend –bindDN \’cn=目录管理器\’ –type pdb –backend-name myData –setbase-dn:dc=example,dc=com –setenabled:true –set db-cache-percent:25 –trustAll –没有提示
[root@tserver121 opendj]# ./bin/dsconfig 列表后端
后端: 类型: 启用: 基本DN
———-:—–:———-:———
adminRoot : ldif : true : cn=管理数据
myData : pdb : 真: \’dc=示例,dc=com\’
userRoot : pdb : 真: \’o=example,c=com\’
查看
dsconfig get-backend-prop .
dsconfig 列表后端索引.
修订
dsconfig 设置后端属性.
擦除
dsconfig 删除后端
关于加密
默认的db存储文件可以使用strings命令让一些数据可见,你也可以选择牺牲一些性能来进行加密文件存储–setconfidentiality-enabled:true
出站加密:可以使用StartTLS、SSL等配置
配置连接
openDJ 默认端口和协议:
[root@tserver121 opendj]# ./bin/status
— 连接处理程序—
地址: 端口: 协议: 状态
————:—————-:————
— : LDIF : 已禁用
8989 : 复制: 已启用
0.0.0.0:161 : SNMP : 已禁用
0.0.0.0:389 : LDAP : 已启用
0.0.0.0:636 : LDAPS : 已启用
0.0.0.0:1689 : JMX : 已禁用
0.0.0.0:8080 : HTTP : 已禁用
加
管理连接器: 端口4444 (LDAPS)
[root@tserver121 opendj]# ./bin/dsconfig list-connection-handlers 获取处理程序名称
连接处理程序: 类型: 已启用: 侦听端口: 使用ssl
———————–:——:———:—— — – —:———
HTTP 连接处理程序: http : false : 8080 : false
JMX 连接处理程序: jmx : false : 1689 : false
LDAP 连接处理程序: ldap : false : 389 : false
LDAPS 连接处理程序: ldap : true : 636 : true
LDIF 连接处理程序: ldif : false : – : –
SNMP 连接处理程序: snmp : false : 161 : –
#开始/结束389
./bin/dsconfig set-connection-handler-prop –handler-name \’LDAP 连接处理程序\’ –set Enabled:false –trustAll
./bin/dsconfig set-connection-handler-prop –handler-name \’LDAP 连接处理程序\’ –set Enabled:true –trustAll
#使用SSL
./bin/dsconfig set-connection-handler-prop –handler-name \’LDAPS 连接处理程序\’ –set use-ssl:true –trustAll
开启 HTTP/HTTPS连接
REST 访问数据映射、REST
访问权限、 REST认证等
To Set Up REST Access to User Data、
#开启 http 8080
./bin/dsconfig set-connection-handler-prop –handler-name \”HTTP Connection Handler\” –set enabled:true –trustAll
#启用 HTTP 访问日志 –/logs/http-access 还可以配置Debugr日志与审计日志 也可以在config.ldif 中修改 当起不来的时候 非常有用
[root@tserver121 opendj]# ./bin/dsconfig list-log-publishers 获得 log publisher-name
Log Publisher : Type : enabled
——————————:————————:——–
File-Based Access Logger : file-based-access : true
File-Based Audit Logger : file-based-audit : false
File-Based Debug Logger : file-based-debug : false
File-Based Error Logger : file-based-error : true
File-Based HTTP Access Logger : file-based-http-access : false
Replication Repair Logger : file-based-error : true
[root@tserver121 opendj]# ./bin/dsconfig set-log-publisher-prop –publisher-name \”File-Based HTTP Access Logger\” –set enabled:true –trustAll
#开启HTTPS(指定JKS)
./bin/dsconfig set-trust-manager-provider-prop –provider-name \”Blind Trust\” –set enabled:true –trustAll
./bin/dsconfig set-connection-handler-prop –handler-name \”HTTP Connection Handler\” \\
–set use-ssl:true –set key-manager-provider:JKS –set trust-manager-provider:\”Blind Trust\” –trustAll
[root@tserver121 opendj]# ./bin/stop-ds –restart
使用 REST访问 -openDJ3.0
修改config/http-config.json 配置信息–修改之前记得备份
#config/http-config.json 修改修改实际的dc 修改完成后需要重启
\”searchBaseDN\” : \”ou=people,dc=example,dc=com\”,
\”baseDN\” : \”ou=people,dc=example,dc=com\”,
[root@tserver121 opendj]# ./bin/stop-ds –restart
#查询
[root@tserver121 opendj]# curl http://host:8080/users/jdoe –user jdoe:password
{\”_id\”:\”jdoe\”,\”_rev\”:\”000000003f07e62f\”,\”schemas\”:[\”urn:scim:schemas:core:1.0\”],\”displayName\”:\”John Doe\”,\”name\”:{\”familyName\”:\”Doe\”},\”contactInformation\”:{},\”meta\”:{\”created\”:\”2024-06-20T10:30:36Z\”}}
使用证书
keytool命令将客户端应用程序的二进制格式自签名证书添加到 OpenDJ 信任库的命令
服务端需要打开LDAPS 在安装的时候可以选择
Address:Port : Protocol : State
————-:————-:———
0.0.0.0:636 : LDAPS : Enabled
#查看opendj已安装服务器证书 server-cert.crt 默认证书
keytool -list -alias server-cert -keystore ./config/keystore -storepass `cat ./config/keystore.pin`
#如果有自己的证书 列如myapp-cert.crt 建议使用`import` 导入到truststore 文件中
keytool -import -alias myapp-cert -file myapp-cert.crt -keystore ./config/truststore -storepass `cat ./config/keystore.pin`
#导出
keytool -export -alias server-cert -file server-cert.crt -keystore ./config/keystore -storepass `cat ./config/keystore.pin`
#删除
keytool -delete -alias server-cert
是否能将opendj的 默认证书添加到系统默认 –测试中
#将server-cert.crt 默认证书导出使用
keytool -export -alias server-cert -file server-cert.crt -keystore ./config/keystore -storepass `cat ./config/keystore.pin`
#拷贝到系统证书目录下
mv server-cert.crt /etc/pki/ca-trust/source/anchors/
#更新
update-ca-trust extract
安全设置
限制匿名访问
攻击者可以直接通过LDAP客户端工具使用匿名连接既可访问LDAP中的隐秘数据。
./bin/dsconfig set-global-configuration-prop –set reject-unauthenticated-requests:true
拒绝空密码访问
默认值:
true
./bin/dsconfig set-global-configuration-prop –set bind-with-dn-requires-password:true
返回有关绑定失败debug信息
默认值:
false
./bin/dsconfig set-global-configuration-prop –set return-bind-error-messages:false
配置权限和访问控制
访问控制指令 (ACI)
为了安全 默认是不允许访问的
匹配规则
匹配顺序:目录结构 从下往上;匹配过程中,匹配到拒绝策略后,立即拒绝若无拒绝策略,则匹配允许策略若拒绝和允许都没匹配中,则默认拒绝
语法主要由四部分组成
targets(version 3.0;acl \”name\”;permissions subjects;)
变量
解释
targets
指明 条目(target = \”ldap:///*=*,*,dc=example,dc=com\”)、属性(targetattr != \”attr-list\”)、
控制和扩展操作(extop != \”OID\”)。用 ()括起来,多个targets之前使用AND连接
name
描述作用
permissions
allow(action[, action …]) 权限:add、all(除export, import, proxy)、compare、delete、export、import、proxy、read、search、selfwrite、write
subjects
客户端访问限制条件,指定连接的人员、连接时间、连接地点和连接方式
#允许对除密码之外的所有属性进行匿名读取访问
dn: dc=example,dc=com
objectClass: domain
objectClass: top
dc: example
aci: (target =\”ldap:///dc=example,dc=com\”)(targetattr !=
\”userPassword\”)(version 3.0;acl \”Anonymous read-search access\”;
allow (read, search, compare)(userdn = \”ldap:///anyone\”);)
aci: (target=\”ldap:///dc=example,dc=com\”) (targetattr =
\”*\”)(version 3.0; acl \”allow all Admin group\”; allow(all) groupdn =
\”ldap:///cn=Directory Administrators,ou=Groups,dc=example,dc=com\”;)
权限管理
独立于acl
#部分权限
* #所有权限,默认为root权限
backend-backup*
backend-restore*
bypass-acl* #忽略ACL配置
bypass-lockdown* #忽略操作锁
cancel-request* #取消任何客户请求
changelog-read* #查看changelog(在cn=changelog)
config-read*
config-write*
data-sync #同步数据
ldif-export*
ldif-import*
modify-acl*
password-reset* #重置其他用户的密码
privilege-change* #更改分配给用户的权限
subentry-write* 执行 LDAP 子条目写入操作
如何配置
#权限使用ds-privilege-name 属性指定
cat privilege.ldif
dn: uid=kvaughan,ou=People,dc=example,dc=com
changetype: modify
add: ds-privilege-name
ds-privilege-name: config-read
ds-privilege-name: password-reset
#生效
./bin/ldapmodify –bindDN \”cn=Directory Manager\” –filename privilege.ldif
—————————————————————————-
#使用组属性
cat collective.ldif
dn: cn=Administrator Privileges,dc=example,dc=com
objectClass: collectiveAttributeSubentry
objectClass: extensibleObject
objectClass: subentry
objectClass: top
cn: Administrator Privileges
ds-privilege-name;collective: config-read
ds-privilege-name;collective: config-write
ds-privilege-name;collective: ldif-export
ds-privilege-name;collective: modify-acl
ds-privilege-name;collective: password-reset
ds-privilege-name;collective: proxied-auth
subtreeSpecification: {base \”ou=people\”, specificationFilter
\”(isMemberOf=cn=Directory Administrators,ou=Groups,dc=example,dc=com)\” }
#生效
./bin/ldapmodify –bindDN \”cn=Directory Manager\” –filename collective.ldif
Replication -同步
是基于时间来定义最新数据,更新频率较高的话可以定期清理历史信息,清理频率不要过高
同步复制是基于DN指定,不同的DN可以同步不同的节点,另外系统管理的cn=schema和cn=admin data 也会被复制
同步的优先级:越\”近\”的越优先,权重越高的越优先
onlyReplicationServer 仅用来复制的服务器得大集群了吧···
#新服务器作为host2 来配置
./bin/dsreplication \\
enable \\
–baseDN dc=example,dc=com \\
–host1 opendj.example.com \\
–port1 4444 \\
–bindDN1 \”cn=Directory Manager\” \\
–replicationPort1 8989 \\
–host2 opendj2.example.com \\
–port2 4444 \\
–bindDN2 \”cn=Directory Manager\” \\
–replicationPort2 8989 \\
–trustAll
#新的服务器最好先执行dsreplication initialize-all 然后在创建同步
#禁止同步
dsconfig set-synchronization-provider-prop –port 4444 –hostname opendj2.example.com –bindDN \”cn=Directory Manager\” –bindPassword password –provider-name \”Multimaster Synchronization\” –set enabled:false –trustAll
停止同步
sreplication disable –disableAll –hostname opendj2.example.com
备份与恢复
如果是单节点的话 很有需要做异机备份
关于配置的的配置在config/archived-configs/ 每次修改配置程序会自动备份
可以加密备份数据
在线备份
./bin/backup –port 4444 –bindDN \”cn=Directory Manager\” –backendID userRoot –backupDirectory /usr/local/src/userRoot/ –start 0
./bin/backup –port 4444 –bindDN \”cn=Directory Manager\” –backUpAll –backupDirectory /usr/local/src/userRoot/ –start 0 #备份所有数据
#定时备份
./bin/backup –port 4444 –bindDN \”cn=Directory Manager\” –backUpAll –backupDirectory /usr/local/src/userRoot/ –recurringTask \”00 02 * * *\”
#增量备份
./bin/backup –port 4444 –bindDN \”cn=Directory Manager\” –backendID userRoot –backupDirectory /usr/local/src/userRoot/ –incremental –recurringTask \”00 02 * * *\”
离线备份
./bin/backup –backendID userRoot –backupDirectory /usr/local/src/userRoot/
离线恢复
./bin/restore –backupDirectory /export/rpm/OpenDJ-3.0.0/userRoot/ –listBackups #查看–backupID
./bin/restore –backupDirectory /export/rpm/OpenDJ-3.0.0/userRoot/ –backupID 20240620075220Z
监控、日志记录和警报
公开监控信息存在在
cn=monitor中
使用 Elasticsearch 审计日志处理程序
问题处理:
Unable to connect to the server at \”xxxx\” on port 4444
[root@tserver121 opendj]# ./bin/dsconfig list-backend-indexes –trustAll –no-prompt
Unable to connect to the server at \”xxxx\” on port 4444
——————————————————————-
Administration Connector: Port 4444 (LDAPS) 为LDAPS需要配置ssl证书
而且–no-prompt使用的是非交互模式 所以会执行失败
exception is javax.net.ssl.SSLHandshakeException:
[root@tserver121 opendj]# ./bin/status
>>>> Specify OpenDJ LDAP connection parameters
Administrator user bind DN [cn=Directory Manager]:
Password for user \’cn=Directory Manager\’:
Error reading configuration. Details:
javax.naming.CommunicationException: simple bind failed: 0.0.0.0:4444 [Root
exception is javax.net.ssl.SSLHandshakeException:
java.security.cert.CertificateException: No subject alternative names present]
——————————————————————-
Administration Connector: Port 4444 (LDAPS) 为LDAPS需要配置ssl证书
简单的办法是:在交互命令中 接–trustAll参数,
或者在交互命令中选择 3) Yes, also add it to a truststore
backend-userRoot.lock was not granted
[root@tserver121 opendj]# ./bin/backendstat llist-backends –backendID userRoot
userRoot: The exclusive lock requested for file
/export/app/opendj/locks/backend-userRoot.lock was not granted, which
indicates that another process already holds a shared or exclusive lock on
that file. This generally means that some other process has exclusive access
——————————————————————-
# 文件被程序占用,关闭程序可以执行
[root@tserver121 opendj]# fuser -uv locks/*
USER PID ACCESS COMMAND
/export/app/opendj/locks/backend-adminRoot.lock:
root 53283 f…. (root)java
可能是因为不能查看userRoot 的backend 的状态,但是在导入导出、备份等可以使用
可以使用 ./bin/dsconfig list-backends –trustAll 查看
参阅:
OpenDJ:Home · OpenIdentityPlatform/OpenDJ Wiki · GitHub
web管理端phpLDAPadmin:PLA – 🥇 The BEST ldap admin tool!
web管理端web2ldap:web2ldap – How to improve usability
ldap 工具https://ldap.com/ldap-tools/
#以上关于维护和管理LDAP之OpenDJ的相关内容来源网络仅供参考,相关信息请以官方公告为准!
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93226.html