FreeIPA に新しい属性を追加しようとしています。「ldapmodify」を使用してカスタム属性とオブジェクト クラスを LDAP に追加しました。
#color.ldif
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.2
NAME 'favoriteColorName'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
X-ORIGIN 'Extending FreeIPA' )
dn: cn=schema
changetype: modify
add: objectclasses
objectclasses: ( 2.25.28639311321113238241701611583088740684.14.2.1
NAME 'customPerson' SUP person
STRUCTURAL
MAY ( favoriteColorName )
X-ORIGIN 'Extending FreeIPA' )
その後、サーバーを再起動して使用しました
ipa config-mod --addattr=ipaUserObjectClasses=customPerson
FreeIPA サーバーの拡張で説明されているように、すべてうまくいったので、最後にプラグインを freeIPA に追加します。
#color.py
from ipalib.plugins import user
from ipalib.parameters import Str
from ipalib import _
user.user.takes_params = user.user.takes_params + (
Str('favoritecolorname?',
cli_name='color',
label=_('Favorite color'),
),
)
user.user.default_attributes.append('favoritecolorname')
コマンドを実行しようとすると:
ipa user-mod admin --color=red
エラーが発生します:
ipa: エラー: 属性 "favoriteColorName" は許可されていません