OpenLDAP的安装与基本使用方法(七)
在这篇文章中,我们将学习如何修改以及删除数据库中的数据。
修改数据
我们可以使用ldapmodify指令来修改数据。修改的具体内容同样是通过ldif文件来表示:
$ cat modify.ldif
dn: uid=weli,ou=Users,dc=my-domain,dc=com
changetype: modify
replace: title
title: Senior Software Engineer
从文件内容可以看到我们通过dn来指定具体要修改哪条数据。此外,我们指定了changetype为modify,说明是要修改这条数据的内容。
然后我们通过ldapmodify
指令来读入这个ldif文件完成数据修改:
$ cat modify.ldif | ldapmodify -h localhost -x -D 'cn=Manager,dc=my-domain,dc=com' -w secret
modifying entry "uid=weli,ou=Users,dc=my-domain,dc=com"
最后我们通过ldapsearch
来确认上条数据的修改:
$ ldapsearch -LLL -h localhost -x -D 'cn=Manager,dc=my-domain,dc=com' -w secret -b 'ou=Users,dc=my-domain,dc=com'
可以看到title已经被修改了:
有关ldapmodify
的详细说明可以查看这篇文档:
http://docs.oracle.com/cd/E19693-01/819-0995/bcacx/index.html
删除数据
我们可以使用ldapdelete
命令来删除数据。比如我们要删除uid=weli
这条数据,可以这样做:
echo "uid=weli,ou=Users,dc=my-domain,dc=com" | ldapdelete -h localhost -x -D 'cn=Manager,dc=my-domain,dc=com' -w secret -r
其中-r
的含义和rm -r
一样,是recursive的意思。对于删除上面uid=weli
这条数据来讲这个选项用处不大,如果我们要删除ou=Users,dc=my-domain,dc=com
及其包含的所有用户数据, 就必须指定-r
选项。
执行完上完的命令,我们可以验证数据库中这条数据已经被删除了。可以查询被删掉的数据试试看:
ldapsearch -h localhost -x -D 'cn=Manager,dc=my-domain,dc=com' -w secret -b 'dc=my-domain,dc=com' 'uid=weli'
执行结果如下:
可以看到数据库中已经没有这条数据。接下来利用本文上篇中介绍的方法,我们再使用ldapadd
命令把这条数据添加回来,因为后续要用到uid=weli
这条数据。具体过程就不在这里重复了。
- 上一篇 各种语言中的map和lambda
- 下一篇 代码中的side effect