ldapadd命令:
首先编写.ldif:
ldif文件是ldap文件的后缀。之前的例子中介绍了几个类,例如posixAccount等,这些类在/etc/openldap/nis.schema有定义
我们要自定义一个类,例如zefsAccount
如下:objectclass ( 1.3.6.1.1.1.2.13 NAME 'zefsAccount'
DESC 'Abstraction of an zefs account'
SUP top AUXILIARY
MUST ( cn $ uid $ homeDirectory $ userPassword)
MAY description )
在这个类里面,我们必须要定义的属性为cn uid homeDirectory userPassord, homeDirectory要求是多值的属性,将homeDirectory的属性attribute中的SINGLE-VALUE删除。这样我们自己的类就定义好了。
然后删除/etc/openldap/slapd.d/*,重新生成配置文件,slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/,修改文件的属组属性:chown -Rf ldap:ldap /etc/openldap/slapd.d/,重启服务:service slapd restart
添加一条记录:
编辑.ldif文件:
cn: wyz2
dn: uid=wyz2,ou=People,dc=example,dc=com
uid: wyz2
cn: wyz2
objectClass: account
objectClass: zefsAccount
objectClass: top
userPassword: {SSHA}fs5bV84Ul5oTb3jI42rg3YzqyYKBc9sE
homeDirectory: /b
homeDirectory: /c
其中top和account两个类必须要有,加入zefsAccount这个类,然后定义后面的两个属性。其中userPassword 可以用slapdpasswd 执行生成。
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/wyz.ldif,输入admin的密码验证。
出现adding new entry "uid=wyz2,ou=People,dc=example,dc=com"加入成功。
检验一下:ldapsearch -x -W -D "cn=admin,dc=example,dc=com" -b "uid=wyz2,ou=People,dc=example,dc=com"
修改记录:如增加一个目录/c
编辑
dn: uid=wyz2,ou=People,dc=example,dc=com
changetype: modify
add: homeDirectory
homeDirectory: /e
homeDirectory: /f
homeDirectory: /g
执行:ldapmodify -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/modify.ldif 将数据加到ldap服务器中。
ldapsearch -x -W -D "cn=admin,dc=example,dc=com" -b "uid=wyz2,ou=People,dc=example,dc=com"查看结果。