首页 > 代码库 > LDAP 后缀操作

LDAP 后缀操作

创建目录服务器实例之后,必须为服务器的目录信息树(Directory Information Tree,DIT)创建一个或多个后缀。DIT由服务器中的所有条目组成,这些条目使用各自的标识名(DistinguishedName,DN)进行标识。DN的分层特性可创建分支和叶条目,从而以树的形式组织数据。DIT是以后缀和子后缀的形式进行定义和管理的。DSCC提供了用于创建和管理所有这些元素的控件。此外,也可以使用命令行工具。

1.创建根后缀
请确保服务器正在运行,然后键入以下命令:
$ dsconf create-suffix -h host -p port suix-DN
其中suix-DN是新后缀的完整DN。对于根后缀,此约定为使用域组件(dc)命名属性。

例如,要创建DN dc=example,dc=com的后缀,请用以下命令:
$ dsconf create-suffix -h host1 -p 1389 dc=example,dc=com
此命令将以如下方式创建新后缀:
■ 创建根后缀的顶级(或基)条目。
■ 创建后缀和数据库在cn=config中的配置条目。
■ 默认数据库名称基于后缀DN。

[root@rusky bin]# ./dsconf create-suffix -h rusky.com -p 11111 dc=test-suffix
Certificate "CN=rusky.com, CN=22222, CN=Directory Server, O=Sun Microsystems" presented by the server is not trusted.
Type "Y" to accept, "y" to accept just once, "n" to refuse, "d" for more details: y
Enter "cn=Directory Manager" password:  

2.查看后缀信息
有关所有后缀的信息(包括已创建的新后缀),请使用以下命令:

$ dsconf list-suffixes -h host -p port -v
-v选项显示详细模式,此模式将显示后缀上的条目数量,以及所有复制信息。注–如果有多个目录服务器实例,请使用-h host name和-p port number选项指定后缀所属的服务器实例。

?
1
2
3
4
5
6
7
[root@rusky bin]# ./dsconf list-suffixes -v
Enter "cn=Directory Manager" password: 
Enter "cn=Directory Manager" password: SUFFIX_DN  entry-count  repl-role       repl-agmts  repl-priorities  indexes  encr-attrs 
---------  -----------  --------------  ----------  ---------------  -------  ---------- 
dc=test1              1  not-replicated         N/A              N/A       29           0 
dc=test              1  not-replicated         N/A              N/A       29           0 
The "list-suffixes" operation succeeded on "localhost:389".
?
1
2
3
4
5
6
7
8
[root@rusky bin]# ./dsconf list-suffixes -h rusky.com -p 11111 -v
Certificate "CN=rusky.com, CN=22222, CN=Directory Server, O=Sun Microsystems" presented by the server is not trusted.
Type "Y" to accept, "y" to accept just once, "n" to refuse, "d" for more details: y
Enter "cn=Directory Manager" password: 
Enter "cn=Directory Manager" password: SUFFIX_DN       entry-count  repl-role       repl-agmts  repl-priorities  indexes  encr-attrs 
--------------  -----------  --------------  ----------  ---------------  -------  ---------- 
dc=test-suffix            1  not-replicated         N/A              N/A       29           0 
The "list-suffixes" operation succeeded on "rusky.com:11111".

如果要为数据库文件指定非默认路径,请使用-L选项。可以在后面的阶段中更改后缀数据库路径。要执行此操作,请使用命令 dsconf set-suffix-prop suix-DN db-path:new-db-path,然后停止服务器,手动移动数据库文件,再重新启动服务器。

3.创建子后缀(如果需要):
$ dsconf create-suffix -h host -p port subSuix-DN
然后,将此子后缀连接到根后缀。
$ dsconf set-suffix-prop -h host -p port subSuix-DN parent-suffix-dn:parentSuix-DN
其中parentSuix-DN必须与上一步中的suix-DN具有相同的值。子后缀的suix-DN包含此子后缀的相对标识名(RelativeDistinguishedName, RDN)及其父后缀的DN。
例如,要创建子后缀ou=Contractors,dc=example,dc=com并将子后缀附加到根后缀,请键入:
$ dsconf create-suffix -h host1 -p 1389 ou=Contractors,dc=example,dc=com
$ dsconf set-suffix-prop -h host1 -p 1389 ou=Contractors,dc=example,dc=com \parent-suffix-dn:dc=example,dc=com
当此条目添加到目录中时,服务器的数据库模块将自动在以下目录中创建数据库文件:
instance-path/db/database-name
其中database-name是基于部分后缀自动生成的名称。例如,在前面的示例中,
database-name应该为Contractors

4.禁用后缀

有时可能需要禁用后缀以进行维护,或出于安全原因禁用后缀内容。如果禁用后缀,服务器将无法读取或写入后缀内容以响应任何客户端操作。禁用后缀时,您将不再具有该后缀的访问权限,并且引用模式将自动设置为禁用。注–无法禁用已启用复制的后缀,因为复制后缀的大多数属性都由复制机制确定。

$ dsconf set-suffix-prop -h host -p port suix-DN enabled:off

5,启用后缀
$ dsconf set-suffix-prop -h host -p port suix-DN enabled:on
6.设置引用并将后缀设置为只读

如果要限制对后缀的访问权限而不完全禁用后缀,则可以修改访问权限以允许只读访问。在这种情况下,必须定义对其他服务器的引用以执行写入操作。此外,还可以同时拒绝读取和写入访问,然后为后缀上的所有操作定义引用。引用还可用于临时将客户端应用程序指向其他服务器。例如,备份后缀内容时,可能要添加对其他后缀的引用。如果后缀是复制环境中的使用方,则复制机制将确定引用设置的值。尽管可以手动修改引用设置,但引用在下次复制更新时将被覆盖。

6.1设置引用URL。
$ dsconf set-suffix-prop -h host -p port suix-DN referral-url:LDAP-URL
其中LDAP-URL是有效的URL,包含主机名、端口号和目标的DN。
例如:
$ dsconf set-suffix-prop -h host1 -p 1389 dc=example,dc=com \referral-url:ldap://phonebook.example.com:389/
可以指定任意数量的LDAPURL。

6.2设置引用模式,使后缀变为只读状态。
$ dsconf set-suffix-prop -h host -p port suix-DN referral-mode:only-on-write
要使后缀无法用于读取和写入操作,并为所有请求返回引用,请将referral-mode设置为enabled。

只要命令执行成功,后缀即变为只读或不可访问状态,并可返回引用。

6.3(可选的)后缀变为可用状态时,请禁用引用,以使后缀再次变为读写状态。
$ dsconf set-suffix-prop -h host -p port suix-DN referral-mode:disabled
禁用引用时,后缀将自动变为读写状态,除非您通过将后缀的enabled属性设置为off 禁用了此后缀。

7..删除后缀

注–删除后缀时,将从目录中永久地删除该后缀的所有数据条目。此外,还将删除所后缀配置信息,包括其复制配置。

您无法删除父后缀,但将其子后缀保留在DIT中作为新的根后缀。如果要删除包含子
后缀的整个分支,则必须同时删除已删除的父后缀的子后缀及其可能的子后缀。

?
1
2
3
4
[root@rusky bin]# ./dsconf delete-suffix -h rusky.com dc=test1
Enter "cn=Directory Manager" password: 
Enter "cn=Directory Manager" password: Deleting suffix "dc=test1" will remove all Directory Server data.
Do you want to continue [y/n] ?  y

8.压缩后缀  

Directory Server 6.3支持脱机后缀压缩。此发行版中不支持联机压缩。如果有可用的存储空间,则压缩后缀将重新组织数据库键,从而可减小数据库大小。
脱机压缩后缀:
在执行此任务之前,请停止服务器并备份数据库。
压缩所需的后缀。
$ dsadm repack instance-path suix-dn
与指定后缀相关的所有.db3文件都将被压缩。
如果使用-b选项运行此命令,则可以指定后端数据库名称,而不是后缀DN。至少要指定一个后缀或一个后端。
From:Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide