美文网首页
3. 数据的增删减改

3. 数据的增删减改

作者: eftales | 来源:发表于2020-06-27 18:20 被阅读0次

本节的主要内容时如何通过 ldapmodify、ldapadd、ldapdelete 命令来实现数据的增删减改,以及如何用 ldapsearch 命令实现数据的查询。

十分希望你可以亲手输入这些命令,而不是单纯的复制粘贴。你可以在这个链接下载到本视频用到了 ldif 文件。

ldapmodify、ldapadd 命令格式如图。

ldapmodify [ldap 服务器地址] [你的用户名] [你的密码] [ldif 文件的地址]

前三个选项很好理解,ldif 文件是用来干什么呢。大家应该注意到命令格式里面没有出现任何与数据相关的信息,既然是对数据库进行增删减改,怎么可能没有数据信息呢。对了,数据信息全部写在 ldif 文件里面。ldif 文件对书写格式有特殊的要求,但是只要你跟着写上一次,就学会了。

这个是 ldapmodify 常用选项表。

我们将通过练习来熟悉这些选项。

增删 inetOrgPerson 类

给 ldap 数据库增加信息可以用 ldapmodify 也可以用 ldapadd。

我们需要为 Barbara 创建一个条目,这个条目需要包含他的名字、姓、邮箱、uid、称号这些信息。

写成 ldif 文件就是这个样子。

dn: cn=Barbara,dc=example,dc=org
objectClass: inetOrgPerson
cn: Barbara
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen

第一行是有关 dn 的信息,这里是把 barbara 归到了 example.org 下面。需要注意的是 dn 的冒号后面有一个空格,这个是必须的。
第二行本文中的所有信息存储在 inetOrgPerson 类的实例中,后面的就是 barbara 的邮箱、称号之类的信息了。

接下来我分别演示 ldapadd 和 ldapmodify 的用法。

首先,我们进入到 docker 容器内部。

将信息写入 ldif 文件。

ldapadd

ldapadd -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif

接下来我们用 ldapsearch 来查看该数据是否被正确的写入。

ldapsearch -x -H ldap://127.0.0.2:389  -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin 

和其他数据库一样,ldapsearch 可以增加查询条件。

ldapsearch -x -H ldap://127.0.0.2:389  -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin "cn=*,dc=example,dc=org"

ldapdelete

为了之后的实验,我们需要把这个条目删掉。

ldapdelete -x -H ldap://127.0.0.2:389  -D "cn=admin,dc=example,dc=org" -w admin  "cn=Barbara,dc=example,dc=org"

ldapmodify

ldapmodify 和 ldapadd 类似,但是需要对 ldif 文件进行小小的修改。
在 ldif 文件的第二行加上。这样 ldapmodify 才知道本 ldif 文件的目的是增加一个条目。

changetype: add
ldapmodify -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif

增组织

增加组织和增加人员类似。

dn: ou=People,dc=example,dc=org
objectclass: top
objectclass: organizationalUnit
ou: People

dn: ou=Servers,dc=example,dc=org
objectclass: top
objectclass: organizationalUnit
ou: Servers

更改条目的属性

更改条目的属性也分为好几种,比如更改现有的属性,增加新属性等。这些我也都会依次给大家进行演示。

更改现有属性

dn: cn=Barbara,dc=example,dc=org
changetype: modify
replace: title
title: one of the world's most famous mythical manager

新增一个属性

dn: cn=Barbara,dc=example,dc=org
changetype: modify
add: description
description: Barbara description

将Barbara移动到people组织下

dn: cn=Barbara,dc=example,dc=org
changetype: modify
newsuperior: ou=People,dc=example,dc=org

相关文章

  • 3. 数据的增删减改

    本节的主要内容时如何通过 ldapmodify、ldapadd、ldapdelete 命令来实现数据的增删减改,以...

  • sed使用(mac版)

    1.增 2.删 3.查 4.改 5.读取,写入数据

  • python基础-03

    python操作mysql数据库 创建数据表 数据表的 增 删 查 改 增 查 改 删

  • 【Hive学习笔记】Hive入门篇

    数据仓库 1.数据仓库面向主题2.数据仓库是集成的3.数据仓库主要为分析挖掘,只查询,不增改 OLTP:银行转账,...

  • 1.7.2 MySQL数据库增删改查学习

    1. 增 添加一整条数据 添加不完整数据 添加多条数据 2. 删 物理删除 3. 改 修改某条数据 4. 查 查看...

  • 2018-09-25数据库增删改&备份&统计类界

    一、复习 二、数据库操作(增、删、改) insert into(增)*单条数据增加 insert into 表名 ...

  • iOS开发基础性知识(十五)----POST请求和GET请求区别

    get的主要作用是获取数据,对应的是增、删、改、查中的“查”。post的主要作用是更新数据,对应的是增、删、改、查...

  • Get和Post的区别

    get的主要作用是获取数据,对应的是增、删、改、查中的“查”。post的主要作用是更新数据,对应的是增、删、改、查...

  • php与mysql使用

    1.使用内置对象创建数据库 2.连接数据库 3.设置字符集 4.sql语句使用(增,删,改,查) 注意: 在写数据...

  • [SQL]基本知识

    1.创建一个数据库 2.创建一张表 3.插入数据(增) 4.更新数据(改) 如果没有WHERE子句,则全量更新。 ...

网友评论

      本文标题:3. 数据的增删减改

      本文链接:https://www.haomeiwen.com/subject/dgjvfktx.html