You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLDAP自定义属性报错:未定义属性类型,添加ipPhone属性遇阻

搞定OpenLDAP自定义ipPhone属性的添加问题

嘿,我看你是因为默认telephoneNumber属性没法存带*号的分机号,才想着加个自定义的ipPhone属性对吧?刚好这事儿我之前折腾过,给你补全完整的配置步骤和正确的LDIF文件。

完整可用的LDIF配置

你之前的LDIF片段没写完,我给你补全正确的属性定义,还帮你关联到适合的objectClass(这样普通用户条目就能用上这个属性):

dn: cn=schema,cn=config
changetype: modify
add: olcAttributeTypes
olcAttributeTypes: ( 2.25.128424792425578037463837247958458780603.1 
  NAME 'ipPhone' 
  DESC 'Extension Number (supports special characters like *)' 
  EQUALITY caseIgnoreMatch 
  SUBSTR caseIgnoreSubstringsMatch 
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
  SINGLE-VALUE )
-
add: olcObjectClasses
olcObjectClasses: ( 2.25.128424792425578037463837247958458780603.2 
  NAME 'ipPhonePerson' 
  DESC 'Person with ipPhone attribute' 
  SUP inetOrgPerson 
  STRUCTURAL 
  MAY ( ipPhone ) )

关键细节解释

  • OID的事儿:这里用了你给的OID前缀,得确认这个OID没被你LDAP服务器里的其他属性用了。要是拿不准,自己生成个2.25开头的私有OID就行(符合RFC 4520的私有分支规范)。
  • 字符支持:语法选的1.3.6.1.4.1.1466.115.121.1.15是Directory String类型,支持所有UTF-8字符,包括你需要的*号,完美适配需求。
  • 安全扩展objectClass:我没直接改默认的inetOrgPerson,而是建了个继承它的新结构类ipPhonePerson——这样既不破坏原有schema,又能让用户条目用上新属性,后续升级LDAP也不容易出问题。

实际操作步骤

  1. 把上面的内容存成add-ipphone.ldif文件。
  2. 用ldapmodify命令把配置加载到LDAP服务器:
ldapmodify -x -D cn=admin,cn=config -W -f add-ipphone.ldif
  • -x:用简单认证模式
  • -D:填你的配置管理员DN
  • -W:会提示你输密码
  • -f:指定刚才存的LDIF文件路径
  1. 验证一下属性是不是加成功了:
ldapsearch -x -b cn=schema,cn=config "(olcAttributeTypes=*ipPhone*)"

可选方案:修改默认objectClass(不推荐)

要是你嫌建新类麻烦,也可以直接给inetOrgPerson加ipPhone作为可选属性,但我不建议这么干——改默认schema容易在后续升级时出冲突。实在要试的话,用这个LDIF:

dn: cn=schema,cn=config
changetype: modify
add: olcObjectClasses
olcObjectClasses: ( 2.16.840.1.113730.3.2.2 
  NAME 'inetOrgPerson' 
  DESC 'RFC2798: Internet Organizational Person' 
  SUP organizationalPerson 
  STRUCTURAL 
  MUST ( sn $ cn ) 
  MAY ( userPassword $ telephoneNumber $ seeAlso $ description $ 
         givenName $ initials $ displayName $ employeeNumber $ 
         employeeType $ title $ departmentNumber $ physicalDeliveryOfficeName $ 
         l $ st $ postalCode $ postOfficeBox $ street $ c $ o $ 
         manager $ secretary $ uid $ carLicense $ homePhone $ 
         mobile $ pager $ jpegPhoto $ userCertificate $ mail $ 
         facsimileTelephoneNumber $ ou $ roomNumber $ userSMIMECertificate $ 
         userPKCS12 $ ipPhone ) )

内容的提问来源于stack exchange,提问作者Jemson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:54:19