お世話になっております。
表題の件、WebminからLDAPユーザアカウントを追加しようとすると下記エラーになります。
>ユーザを保存できませんでした : Failed to add user to LDAP database : no structural object class provided
ldapサーバ側のログでも同じように
>slapd[28210]: conn=841 op=4 RESULT tag=105 err=65 text=no structural object class provided
となっています。
Webminからユーザの追加を行なう際に構造型のオブジェクトクラスが盛り込まれていないようです。どのような設定変更が必要でしょうか? また、ここからpostされるデータをキャプチャする方法はありますでしょうか?
なお、手動(ldappadd)で追加した既存のLDIFデータは下記のような形式になっています。
dn: uid=user1,ou=People,dc=example,dc=com
objectClass: account
objectClass: posixAccount
uid: user1
userpassword: {SSHA}(略)
cn: YAMADA Taro
uidNumber: 510
gidNumber: 100
loginShell: /bin/bash
homeDirectory: /home/user1
お分かりになる方がいましたらご教授ください。
objectClassにinetOrgPerson
objectClassにinetOrgPersonが足りません。
smbldap-toolsとかも使ってはどうですか?
解決しました
odagiri様、ヒントありがとうございました。
1.既存のLDAPデータを下記の形式で登録しなおす
dn: uid=user2,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: user2
userpassword: {CRYPT}略
cn: Yamada Tarou
sn: Yamada
mail: user2@example.com
uidNumber: 503
gidNumber: 100
loginShell: /bin/bash
homeDirectory: /home/user2
2.config.cgi?ldap-useradminから設定変更
Other objectClasses to add to new usersに「inetOrgPerson」を指定
Extra LDAP user properties to allow editing ofに「sn :lastname」「mail : mail」を指定
これでWebminから「ユーザの追加」を行いslapcatしてみたところ、想定どおりのLDAPアカウントが登録できていました。pam認証もWebmin/Userminでのパスワード変更等も正常です。
ありがとうございます。