openldap菜鸟入门

一、openldap安装
1.yum进行安装
yum install openldap openldap-services openldap-services-sql openldap-clients
2.拷贝DB文件至ldap数据源所在目录
cp /usr/share/openldap-services/DB_CONFIG.example /var/lib/ldap
3.修改文件所属组和用户
chown ldap.ldap -R /etc/openldap/slapd.d
chown ldap.ldap -R /var/lib/ldap
4.启动
方法一:
systemctl start slapd
方法二:
slapd -F /etc/openldap/slapd.d -h ‘ldap:/// ldapi:/// ldaps:///’ -u ldap -g ldap -d 256

二、openldap的配置文件
1.安装openldap会有默认的配置在 /etc/openldap/slapd.d 是已经配好的。很难知道他是怎么配置的。但是不用担心 ,在/usr/share/openldap-services/有个sldap.ldif文件就是该默认配置的方法
2.自定义配置文件
vim /etc/openldap/slapd.conf
引入模型
include /etc/openldap/core.schema
引入其他配置文件
include /etc/openldap/access.conf
加载其他模块
moduleload back_ldap.la
进程id文件
piddile /etc/openldap/slapd.pid
启动参数文件
argsfile /etc/openldap/slapd.argsfile

对dn做访问限制
access to dn='dc=test,dc=com'
	by * none (任何人不可访问)
	by * read (所有人可查看)
	by * write (所有人可写)
	by cn=admin,dc=test,dc=com read(指定某个人)
	
对属性做访问限制
access to attr=mail
	by * none (任何人不可访问)
	by * read (所有人可查看)
	by * write (所有人可写)
	by cn=admin,dc=test,dc=com read(指定某个人)

对过滤条件做访问限制
access to filter="(objectClass=user)"
	by * none (任何人不可访问)
	by * read (所有人可查看)
	by * write (所有人可写)
	by cn=admin,dc=test,dc=com read(指定某个人)

默认数据源配置
database	hdb
suffix	"dc=test,dc=com"
rootdn	"cn=admin,dc=test,dc=com"
rootpw secret
directory	/var/lib/ldap

AD代理
前提必须引入模块 back-ldap.la
database ldap
suffix	'dc=ad,dc=com'
uri	"ldap://127.0.0.1:389"
idassert-bind	bindmethod=simple binddn='cn=admin,dc=ad,dc=com' credentials='secret' mode=self

将slapd.conf转为slapd.d配置文件
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
用户密码加密
slappasswd -s 123456

三、ldif详解
1.ldif文件规范
1)ldif文件每行的结尾不允许有空格或者制表符
2)ldif文件允许相关属性可以重复赋值并使用
3)ldif文件必须以.ldif结尾
4)ldif文件中以#开头的为注释,可作为注释使用
5)ldif文件所有的赋值方式为: 属性:[空格]属性值
6)ldif文件通过空行来分隔不同条目,空行前是一个条目,空行后是一个条目
2.ldif语法格式
dn: 条目名 唯一
objectclass(对象类): 属性值
ldap属性名: 属性值

四、ldap增、删、改、查操作
1.操作配置文件
1)查询
ldapsearch -Y EXTERNAL -H ldapi:/// -b ‘dc=test,dc=com’
2)删除
ldapdelete -Y EXTERNAL -H ldapi:/// ‘dc=test,dc=com’
3)新增
ldapadd -Y EXTERNAL -H ldapi:/// -f add_entry.ldif
4)修改
ldapmodify -Y EXTERNAL -H ldapi:/// -f modify_entry.ldif
2.操作数据
1)查询
ldapsearch -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -b ‘ou=users,dc=test,dc=com’ -H ldap://127.0.0.1
2)删除
ldapdelete -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ ‘ou=users,dc=test,dc=com’ -H ldap://127.0.0.1
3)新增
ldapadd -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f add_entry.ldif
4)修改
ldapmodify -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f add_entry.ldif
3.新增条目示例
cat > add_base.ldif << EOF
dn: dc=test,dc=com
o: test
dc: test
objectClass: top
objectClass: dcObject
objectClass: organization
dn: ou=users,dc=test,dc=com
ou: users
objectClass: top
obejctClass: organizationalUnit
EOF
ldapadd -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f add_base.ldif
4.ldap对象类说明
对象类分为: 抽象类、结构类、辅助类
每个条目必须拥有一个抽象类(top)和一个结构类
5.modify详解
modify是支持细粒度的增删改操作
1)首先我们添加一个用户
cat > user.ldif << EOF
dn: cn=name,ou=users,dc=test,dc=com
objectClass: top
objectClass: user
cn: name
cnname: name
mail: name@163.com
userPassword: secret
EOF
ldapadd -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f auser.ldif
2)删除属性
cat > delete_mail.ldif >> EOF
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
delete: mail
EOF
ldapmodify -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f delete_mail.ldif
3)修改属性
cat > update_name.ldif >> EOF
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
replace: cn
cn: newname
EOF
ldapmodify -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f update_name.ldif
3)新增属性
cat > add_mail.ldif >> EOF
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
add: mail
mail: newname@163.com
EOF
ldapmodify -x -w ‘secret’ -D ‘cn=admin,dc=test,dc=com’ -H ldap://127.0.0.1 -f add_mail.ldif

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值