用于在OpenLDAP中创建Active Directory用户和组的LDIF?
我有一个使用Active Directory来验证用户的Web应用程序,我试图用OpenLDAP替换AD。用于在OpenLDAP中创建Active Directory用户和组的LDIF?
该文档说,我需要以管理员身份登录域控制器,打开用户管理窗口,单击适当的组织单位并将用户标识添加到适当的组(这些组应具有范围“全局”和组键入“安全”)。
我需要在我的OpenLDAP服务器上创建相应的条目。有人可以为此提供一个LDIF示例吗?我不知道该课程以及我应该使用的属性,也无法访问域控制器。最有问题的项目似乎是组类型和范围,因为它们似乎是二进制值,而不是字符串。
请注意,我不想完全替换Active Directory - 我只需要userids和groups。我已经尝试向OpenLDAP添加microsoft.schema,但它不起作用。我发现了一些关于修改Microsoft Outlook架构的信息;我需要类似但更简单的东西。
将整个ActiveDirectory模式转换为OpenLDAP几乎是不可能的,这是巨大的。但是,我们只能添加所需的属性和类:
attributetype (1.2.840.113556.1.4.750 NAME 'groupType'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.27' SINGLE-VALUE
)
attributetype (1.3.114.7.4.2.0.33 NAME 'memberOf'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.26'
)
objectclass (1.2.840.113556.1.5.9 NAME 'user'
DESC 'a user'
SUP organizationalPerson STRUCTURAL
MUST (cn)
MAY (userPassword $ memberOf))
objectclass (1.2.840.113556.1.5.8 NAME 'group'
DESC 'a group of users'
SUP top STRUCTURAL
MUST (groupType $ cn)
MAY (member))
然后可以很容易地创建一个LDIF文件将用户和组:
dn: dc=myCompany
objectClass: top
objectClass: dcObject
objectClass: organization
dc: myCompany
o: LocalBranch
dn: ou=People,dc=myCompany
objectClass: top
objectClass: organizationalUnit
ou: People
description: Test database
dn: cn=Users,dc=myCompany
objectClass: groupOfNames
objectClass: top
cn: Users
member: cn=Manager,cn=Users,dc=myCompany
dn: cn=Manager,cn=Users,dc=myCompany
objectClass: person
objectClass: top
cn: Manager
sn: Manager
userPassword:: e1NIQX1tc0lKSXJCVU1XdmlPRUtsdktmV255bjJuWGM9
dn: cn=ReadWrite,ou=People,dc=myCompany
objectClass: group
objectClass: top
cn: ReadWrite
groupType: 2147483650
member: cn=sysconf,ou=People,dc=myCompany
dn: cn=sysopr,ou=People,dc=myCompany
objectClass: user
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: sysopr
sn: team
memberOf: cn=ReadOnly,ou=People,dc=myCompany
userPassword:: e1NIQX1jUkR0cE5DZUJpcWw1S09Rc0tWeXJBMHNBaUE9
好吧,这里是一个答案的开头:
一旦你安装了OpenLDAP的
A - 编辑slapd.conf
到:
1)修改架构包括
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetperson.schema
2)Modifiy模式文件作为this FAQ
3)修改您的命名上下文(说明本人来说我'使用HDB作为后端)
database hdb
suffix "dc=dom,dc=com"
rootdn "cn=Manager,dc=dom,dc=com"
rootpw secret
directory /usr/local/var/openldap-hdb
4)然后重新启动目录
乙 - 插入你的根
下面是LDIF文件(root.ldif)
dn: dc=dom,dc=com
objectclass: dcObject
objectclass: organization
o: Company name
dc: dom
这里是命令行
ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f root.ldif
Ç - 插入用户
这里是LDIF文件(user.ldif)
dn: cn=user1,dc=dom,dc=com
objectClass: inetOrgPerson
sn: users
cn: user1
telephoneNumber: 9999
这里是命令行
ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f user.ldif
d - 一个建议
Apache directory studio,对我来说,有很好的LDAP浏览器,它是开源的,它适用于Java在Linux和Windows上。使用它你可以浏览AD和OpenLdap,只需点击B和C部分。
活动目录Schema (Classes and attributes)记录在MSDN中。例如,这里有关于groupType的信息。这是你期望的吗?
你能更明确。你需要LDIF脚本,所以它是编程,所以我不投票结束这个问题,但它不是那么明确。您真正想做什么,将用户从AD迁移到OpenLDAP?用LFIF添加新用户到OpenLDAP?你告诉过一个文件哪一个(你可以编辑你的问题并把链接?)。另一个问题为什么OpenLDAP能够知道ADAM(AD like)在Windows上运行并且是免费的? – JPBlanc
我需要使用Active Directory使用的相同方案(类,属性)在OpenLDAP中创建新用户和组(不从AD迁移它们)。我无法提供我提到的文件 - 它是专有的。我知道ADAM,但我无法使用它(该解决方案应该是基于Linux的)。感谢您的关注。 – muriloq