为了向 AD 组对象添加属性,我创建了一个自定义辅助类。我将辅助类动态链接到各个组。我可以成功地将它添加到 Group 对象的 objectClass 中,但我也可以将它添加到其他对象类型中。我似乎找不到任何关于如何将其限制为仅Group 对象的明确文档。我已经尝试设置 systemPossSuperiors/Possible Superior 并且它不会改变行为。
尚不完全清楚是否有一种方法可以限制它,但其他内置类似乎显示了限制。
- 可能吗?
- 如果是这样,怎么做?
谢谢。
为了向 AD 组对象添加属性,我创建了一个自定义辅助类。我将辅助类动态链接到各个组。我可以成功地将它添加到 Group 对象的 objectClass 中,但我也可以将它添加到其他对象类型中。我似乎找不到任何关于如何将其限制为仅Group 对象的明确文档。我已经尝试设置 systemPossSuperiors/Possible Superior 并且它不会改变行为。
尚不完全清楚是否有一种方法可以限制它,但其他内置类似乎显示了限制。
谢谢。
cosine
我已经在 alpine 3.12.1上设置了 OpenLDAP 2.4.50inetorgperson
并nis
使用ldapadd
. 现在我想添加一个自定义对象类。我添加了一个条目cn=mystuff,cn=schema,cn=config
,对象类olcSchemaConfig
,它工作得很好。现在我想添加一个新的 objectClass,它可以为我提供某种带有额外信息的帐户类。这个想法很简单:创建一个继承自person
和的 objectClass posixAccount
。她去我的LDIF...
dn: cn={4}mystuff,cn=schema,cn=config
changetype: modify
add: olcObjectClasses
olcObjectClasses: ( 1.3.6.1.4.1.999999.1.2.3 NAME 'myAccount' DESC 'A full acc
ount as I want it.' SUP ( person $ posixAccount ) STRUCTURAL )
问题是 OpenLDAP 不允许我这样做。它指出olcObjectClasses: user-defined ObjectClass has inappropriate SUPerior: "posixAccount"
我想我尝试使用它的方式在 LDAP 中不允许多重继承,但我找不到任何参考告诉我原因。
长话短说:如何创建一个同时包含 和 的person
objectClass posixAccount
?如果不可能,请告诉我确切的原因。
组织中的管理员从Exchange 2019 ISO运行/PrepareSchema并成功。第二天,他们的应用程序供应商表示邮件集成不支持 Exchange 2019。因此,管理员决定通过从 Exchange 2016 ISO运行 /PrepareAD 来继续 Exchange 迁移,并且成功了。现在我有一个具有以下 AD 属性的源 Exchange 2013 服务器:
Exchange 组织对象版本 16217
Exchange 系统对象版本:13237
目标是从 Exchange 2013->2016 迁移。
由于不会有 Exchange 2019 服务器,即使架构已针对 Exchange 2019 扩展,我是否仍可以继续安装 Exchange 2016?
我创建了这个自定义且非常基本的架构:
objectclass ( 2.25.2.2.1
NAME 'myObjectClass'
DESC 'myObjectClass objectclass'
STRUCTURAL
MUST ( cn )
)
我已经用这个 myObjectClass.ldif 文件毫无问题地添加了它:
dn: cn=myObjectClass,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: myObjectClass
olcObjectClasses: {0}( 2.25.2.2.1 NAME 'myObjectClass' DESC 'myObjectClass objectclass' STRUCTURAL MUST cn )
使用 ldapmodify:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f myObjectClass.ldif
现在我正在尝试使用 delete.ldif 删除它:
dn: cn=schema,cn=config
changetype: modify
delete: objectClass
objectClass: 2.25.2.2.1
使用 ldapmodify 总是得到 ldap_modify: Server is unwilling to perform (53):
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f delete.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=schema,cn=config"
ldap_modify: Server is unwilling to perform (53)
我正在使用 OpenLDAP 2.4.31 运行 Ubuntu 14.04 服务器
我在官方文档中搜索过这个:
A.2.2。更好的 cn=schema 功能
在 2.3 中,您只能添加新的架构元素,而不能删除或修改现有元素。在 2.4 中,您可以随意修改架构。(当然,硬编码的系统模式除外。)
有人可以分享任何线索吗?
提前致谢!
以下项目是上下文的架构。我会加
attributetype ( 1.3.6.1.4.1.9.500.1.3
NAME 'CiscoDomain'
DESC 'Domain for VPN users'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.4
NAME 'CiscoDNS'
DESC 'DNS server for VPN users'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.5
NAME 'CiscoIPAddress'
DESC 'Address for VPN user'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.6
NAME 'CiscoIPNetmask'
DESC 'Address for VPN user'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.7
NAME 'CiscoSplitACL'
DESC 'Split tunnel list for VPN users'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.8
NAME 'CiscoSplitTunnelPolicy'
DESC 'Split tunnel policy for VPN users'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.9.500.1.9
NAME 'CiscoGroupPolicy'
DESC 'Group policy for VPN users'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
ORDERING caseIgnoreOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
SINGLE-VALUE )
objectclass ( 1.3.6.1.4.1.9.500.2.1 NAME 'CiscoPerson'
DESC 'My cisco person'
AUXILIARY
MUST ( sn $ cn )
MAY ( userPassword $ telephoneNumber $ seeAlso
$ description $ CiscoBanner $ CiscoACLin $ CiscoDomain
$ CiscoDNS $ CiscoIPAddress $ CiscoIPNetmask $ CiscoSplitACL
$ CiscoSplitTunnelPolicy $ CiscoGroupPolicy ) )
该~# vi /usr/share/slapd/slapd.conf
命令产生以下输出:
# Global Directives:
# Features to permit
#allow bind_v2
# Schema and objectClass definitions<br>
include /etc/ldap/schema/core.schema<br>
include /etc/ldap/schema/cosine.schema<br>
include /etc/ldap/schema/nis.schema<br>
include /etc/ldap/schema/inetorgperson.schema<br>
include /etc/ldap/schema/cisco.schema<br>
有配对的每个模式 ldif 都有文件 ldif 为你的模式文件生成知道什么方法吗?
我已经成功导入了 sshPublicKey 架构,但该属性未显示在 PHPLDAPADMIN 中。
有人对这个问题有任何经验吗?
我逐字逐句地做了什么:
sudo nano openssh-lpk.ldif
dn: cn=openssh-lpk,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: openssh-lpk
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
DESC 'MANDATORY: OpenSSH Public key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
DESC 'MANDATORY: OpenSSH LPK objectclass'
MAY ( sshPublicKey $ uid )
)
导入架构,我应该更改 ldapi:// 吗?我尝试使用我的 IP/Loopback,但它不起作用,但它似乎可以正常工作。
ldapadd -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
从这里的指南中得到这个>> https://blog.shichao.io/2015/04/17/setup_openldap_server_with_openssh_lpk_on_ubuntu.html
通过 SF 上的这篇文章确认了我应该做的事情。
但他的指示有点模糊......
“更新 LDAP 以包含 OpenSSH-LPK 架构”
我们首先需要使用模式更新 LDAP,为用户添加 sshPublicKey 属性:
如何?我究竟做错了什么?
谢谢,
PS:这是我运行命令的输出,一切似乎都很好,它甚至说“重复”
root@ldap:~# ldapadd -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=openssh-lpk,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: olcAttributeTypes: Duplicate attributeType: "1.3.6.1.4.1.24552.500.1.1.1.13"
更新:我可以在 PHPLDAPADMIN 中看到架构,但它不在 PosiX 帐户下,有人可以从/etc/phpldapadmin/templates/creation/posixAccount.xml
我想将一些模式导入 LDAP。但我得到这个错误:
ldapadd: invalid format (line 21) entry: ""
这是带有架构的文件:
# ****-Schema-Datei.
#
# OID prefix: 1.3.6.1.4.1.29508
# Attributes: 1.3.6.1.4.1.29508.1.1
#
# Depends on: nis.schema, which depends on cosine.schema
attributetype: ( 1.3.6.1.4.1.29508.1.1.1 NAME 'domain'
DESC 'A mail domain'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype: ( 1.3.6.1.4.1.29508.1.1.2 NAME 'forward'
DESC 'Forward to mail address'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
objectclass: ( 1.3.6.1.4.1.29508.1.2.1 NAME '****Domain' SUP top STRUCTURAL
DESC 'Domain used for mail server'
MUST ( domain )
MAY ( description ) )
objectclass: ( 1.3.6.1.4.1.29508.1.2.2 NAME '****MailAccount' SUP top STRUCTURAL
DESC 'Mail account object'
MUST ( mail $ uidNumber $ gidNumber $ userPassword )
MAY ( description ) )
objectclass: ( 1.3.6.1.4.1.29508.1.2.3 NAME '****MailAlias' SUP top STRUCTURAL
DESC 'Mail aliasing forwarding entry'
MUST ( mail $ forward )
MAY ( description ) )
objectclass: ( 1.3.6.1.4.1.29508.1.2.4 NAME '****Account' SUP top AUXILIARY
DESC 'User account'
MUST ( homeDirectory )
MAY ( uidNumber $ gidNumber $ uid $ cn $ description $ loginShell $ userPassword $ mail ) )
我刚刚用 **** 替换了这个网站的我们组织的名称。
为什么我会收到此错误?
谢谢您的帮助。
制造商
保罗
我正在使用 Windows Server 2008。我有一个域和一个域控制器(这是一个开发环境)。我编辑了 AD 架构并创建了一个名为 TestAttribute2(LDAP 名称为 testAttribute2)的自定义属性,其语法为数字字符串、单值、没有最小值或最大值。该属性的 OID 为 1.3.6.1.4.1.39668.21769.1.1.1。我还创建了另一个测试属性,其 Microsoft 颁发的 OID 为 1.2.840.113556.1.8000.2554.37861.10620.51629.17372.38569.15288078.14709744.1.2。该属性是非索引的、活动的、不复制到 GC、复制时不复制、不为容器化搜索建立索引。然后我将这个属性添加到 person 类。
每当我尝试使用 AD 用户和计算机 MMC 的属性编辑器功能或 ADSI Edit 来设置这些自定义属性中的任何一个时,MMC 就会崩溃,并且该属性仍未设置。但是,可以设置具有类似 OID 但具有其他语法(CI 字符串和 Unicode 字符串)的其他自定义属性而不会发生崩溃。我究竟做错了什么?
我遇到了一个高度自定义的 Active Directory 环境 (2003 FL),这让我想知道是否有任何特别简单的方法来弄清楚自定义属性的功能是什么,以及什么(如果有的话)正在“使用”该特定属性。然后可能有哪些可能从架构中删除自定义属性的好选项。除了恢复或从头开始。如果存在这样的选项。
例如,我认为我可以相当确定值为 TRUE 的“isDumbass”属性意味着什么,但对于包含值为 393684 的“IRPextCONST”则不是那么多。同样,我认为应该非常安全删除“isDumbass”属性,但希望 a) 确定和 b) 找出正在查询或更新该值的内容,因为我怀疑使用该属性的任何内容都可能是要删除的内容列表中的下一个。当然,理想情况下,无需搜索每个自定义脚本的内容和一些源代码,我就可以动手了。
最后,除了从头开始重建,或者从不存在的备份中进行权威的 AD 恢复之外……有没有办法删除给定的自定义属性?(不是空白值,而是实际上从架构中删除属性 - 有些人宁愿没有像 [redacted] 这样的属性。)我已经能够在 Windows 2k 上找到并成功测试一个方法,但它看起来像Microsoft 在 SP4 中禁用了此选项,并且有问题的域是 2003 功能级别。
我正在设计 LDAP 结构,基本上应该包含用户和组。应该支持嵌套组(所以我考虑使用groupOfNames
对象类)和我将使用的用户inetOrgPerson
。不过还有一个额外条件——有些群组目前没有成员。
因此,我的研究表明,我可以考虑groupOfEntries
在我的 openLDAP 实例中使用 as 对象类。groupOfNames
除了成员属性是可选的(必须)之外,它与其他相同。我找不到任何说明如何使用标准LDAP 对象类处理可选成员资格的官方文档。
我找到了 2008 年提交给 IETF 的草稿groupOfEntries
,但我无法收集到更多信息。
我们是否应该使用这个对象类是否有官方决定?
它是否存在于任何可以导入 openLDAP 的可选模式中?
我的考虑主要是考虑使用此对象类时“支持程度如何”、“安全程度如何”和“官方程度如何”?我想听听关于此事的一些意见,也将不胜感激任何建议的替代方案。谢谢你的时间!