Ldap
如何在預設的 FreeIPA 架構中添加使用者的國家/地區
我正在嘗試擴展 FreeIPA 人員架構以
country
在預設使用者中添加該欄位。據我所知,FreeIPA 確實實現了 RFC 4519,它確實提供了一個
$$ country field $$$$ 1 $$. 當我轉儲 FreeIPA 的模式時(通過
ldapsearch -x -b cn=schema objectclasses attributetypes > schema.ldif
),我看到國家/地區定義預設存在,但它不是人員的一部分或人員的任何擴展。所以我創建了以下 ldif(請注意,OID 基本上是隨機的,我還沒有註冊任何東西,因為我正在測試周圍的東西:
dn: cn=schema changetype: modify add: objectclasses objectclasses: ( 2.25.2866739172111323825341701611583088740684.14.2.1 NAME 'customPerson' SUP person STRUCTURAL MAY (country) X-ORIGIN 'Extending FreeIPA' )
但是當我通過 `ldapmodify8 執行它時,我收到以下錯誤:
$ ldapmodify -D "cn=Directory Manager" -W -f customPerson.ldif Enter LDAP Password: modifying entry "cn=schema" ldap_modify: Invalid syntax (21) additional info: object class customPerson: Unknown allowed attribute type "country"
我做錯了什麼,以及如何修復它以便我可以
country
在所有使用者中使用該欄位?
在繼續修補此問題後,我實際上找到了答案。
原來這
country
不是一個屬性,而是一個對像類,所以在添加country
並friendlyCountry
進入預設 IPA 對像使用者類(通過 IPA 伺服器 > 配置 > 使用者選項)之後,我創建了以下更新文件:dn: uid=test,cn=users,cn=accounts,dc=example,dc=com add:c:CH add:objectClass:country add:objectClass:friendlyCountry add:co:Switzerland
您需要定義 和都
c
需要的屬性。country``friendlyCountry
我現在可以通過
ipa user-show --all test
命令看到這一點。