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 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选项指定后缀所属的服务器实例。
[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".
[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中作为新的根后缀。如果要删除包含子
后缀的整个分支,则必须同时删除已删除的父后缀的子后缀及其可能的子后缀。
[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
LDAP 后缀操作的更多相关文章
- linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join
1.1 文件名操作函数 下面我们要介绍的函数主要是处理文件名的.每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. 1.1.1 取目录函数dir $(dir < ...
- LDAP相关操作注意事项
lc.Modify(entry.DN, new LdapModification(LdapModification.REPLACE, new LdapAttribute("mDBUseDef ...
- LDAP学习笔记总结
一.LDAP概念LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根 ...
- LDAP基本概念
LDAP(Lightweight Directory Access Protocol)是一种基于计算模型的客户机/服务器X.500目录服务访问协议.LDAP是从X.500目录访问协议的基础上发展过来的 ...
- [原创]django+ldap实现统一认证部分二(python-ldap实践)
前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...
- LDAP注入与防御解析
[目录] 0x1 LDAP介绍 0x2 LDAP注入攻击及防御 0x3 参考资料 0x1 LDAP介绍 1 LDAP出现的背景 LDAP(Lightweight Directory Access Pr ...
- Windows下LDAP服务器配置
LDAP即轻量级目录访问协议(Lightweight Directory Access Protocol),基础知识不再赘述,本文主要记录我的配置与安装过程. LDAP for windows下载 o ...
- Im4java 操作 ImageMagick 处理图片
背景 之前用的是JMagick,各种限制各种坑,直到使用了Im4java,真是相当的好用啊. 项目描述 ImageMagic的安装可参考:图片处理软件 ImageMagick 的安装和使用 Im4ja ...
- Centos下安装破解Jira7的操作记录
Jira是一个集项目计划.任务分配.需求管理.错误跟踪于一体的工具,可以作为一个bug管理系统,可以将在测试过程中所发现的bug录入.分配给开发人员.前面介绍了Confluence在Centos下的安 ...
随机推荐
- Ubuntu11.10打开XDMCP,使用XManager远程管理
ubuntu11.10-desktop-i386.iso缺省安装使用lightdm作为缺省登录器,这里说说开启XDMCP进行远程登录 首先关闭防火墙 sudo ufw disables Ubuntu所 ...
- maven实现tomcat热部署
1.使用maven+tomcat事项热部署 1.1修改tomcat-user.xml <role rolename="manager-gui"/> <!--man ...
- 【转】深入理解Java内存模型(六)——final
与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被构造对象 ...
- JavaScript 客户端JavaScript之Document对象中的表单和表单元素
Form对象 代表一个HTML表单(document可以有多个表单元素) 表单访问 document.form[document.forms.length-1] 访问表单元素 document.for ...
- java学习——多线程
本文内容来源于 历经5年锤练--史上最适合初学者入门的Java基础视频 线程:就是进程中一个负责程序执行的控制单元(执行路径) 每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务. 多线 ...
- CentOS下安装nginx并且升级nginx到最新版
yum install yum-fastestmirro yum install nginxyum update nginx(之前先配置一下)vim /etc/yum.repos.d/nginx.re ...
- Oracle database启动过程分析
实例跟数据库的区别 实例(instance)是内存中的一块区域和一组后台进程的集合.它的作用是维护数据库文件的.而数据库(database)则是指存放数据的数据库文件.它是一系列格式化的数据的集合.它 ...
- c语言输入一行未知个数数字存入数组
一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦. 今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一 ...
- python简介与基本操作
一.python的历史 python的创始人Guido van Rossum,现就职于Dropbox公司. 1989年12月份诞生了python1.0 2000年10月16日发布了python2.0 ...
- IOS APP IDs
感谢分享 说下 APP ID 的组成为 APP ID Prefix + APP ID suffix APP ID Prefix 为10个字符 你不用管它 APP ID Suffix 这个有点讲究 ...