arinux

Linux サーバー設定備忘録
<< openLDAP 構築(37) - 管理ツール(phpLADPadmin) (4) | main | openLDAP 構築(39) - Vine 2.6 クライアント設定(1) >>
openLDAP 構築(38) - エラーメッセージ集


メモ slapadd


/usr/local/etc/openldap/slapd.conf: line 81:
  can only be set when rootdn is under suffix
slapadd: bad configuration file!
  • slapd.conf の suffix を間違えている。


bdb_db_open: database already in use backend_startup_one: bi_db_open failed! (-1)
slap_startup failed
  • すでに /usr/local/var/openldap-data に DB が存在している。
  • 既存の DB への追加は slapadd ではなく ldapadd を使用する。
  • 新規で作成する場合は、openldap-data ディレクトリを空にする(DB_CONFIG は残す)。


slapadd: dn="dc=examples,dc=com" (line=7): (65) no structural object class provided
  • 必要な objectclass やオブジェクトが書かれていない。
  • 例えば、以下のような場合、
    [root]# cat basedn01.ldif
    dn: dc=examples,dc=com
    objectClass: dcObject
    dc: examples
    

  • 以下を追加すればOK
    objectclass: organization
    o: Examples Corporation
    



メモ ldapadd


Enter LDAP Password:
ldap_bind: Can't contact LDAP server (-1)
  • slapd が起動していない。
  • LDAP サーバーが見つからない。


Enter LDAP Password:
ldap_bind: Invalid credentials (49)
  • パスワードを間違えている。
  • コマンドラインの DN を間違えている。


adding new entry "cn=gyomu,ou=group,dc=example,dc=com"
ldap_add: Server is unwilling to perform (53)
    additional info: no global superior knowledge
  • LDIF ファイルの DN を間違えている。


adding new entry "cn=defaults,ou=SUDOers,dc=examples,dc=com"
ldap_add: No such object (32)
    matched DN: dc=examples,dc=com
  • 登録されていない organization にエントリーを追加しようとした。
  • この例では、「ou=SUDOers」 が存在しない。


adding new entry "uid=sanga,ou=people,dc=examples,dc=com"
ldap_add: Undefined attribute type (17)
    additional info: pwdPolisySubentry: attribute type undefined
  • スペルを間違えている(pwdPolisySubentry ⇒ pwdPolicySubentry)


ldap_add: Naming violation (64)
    additional info: naming attribute 'cn' is not present in entry
  • 「cn:」 がない。


ldap_add: Naming violation (64)
    additional info: value of naming attribute 'ou' is not present in entry
  • 「dn:」 に書いた ou の値と、「ou:」 に書いた ou の値が一致していない。


ldap_add: Naming violation (64)
    additional info: value of naming attribute 'cn' is not present in entry
  • 「cn:」 の値を間違えている。
  • 「dn:」 に書いた cn の値と、「cn:」 に書いた cn の値が一致していない。


ldap_add: Invalid syntax (21)
    additional info: pwdAttribute: value #0 invalid per syntax
  • slapd.conf に ppolicy の設定が書かれてない。


ldap_add: Object class violation (65)
    additional info: attribute 'pwdAttribute' not allowed
  • LDIF ファイルに objectClass: pwdPolicy が書かれてない。


ldap_add: Internal (implementation specific) error (80)
    additional info: no structuralObjectClass operational attribute
  • LDIF ファイルの 1行目が dn ではない。


ldap_add: Object class violation (65)
    additional info: no structural object class provided
  • 「STRUCTURAL」 の objectClass がない。
  • エントリーには、少なくとも 1つの 「STRUCTURAL(構造型オブジェクトクラス)」 の objectClass が必要です(例: account, person, inetOrgPerson など)。
  • 注意: 「account」 と 「inetOrgPerson」 は同居できません。


ldap_add: Object class violation (65)
    additional info: invalid structural object class chain
        (account/inetOrgPerson)
  • 「account」 と 「inetOrgPerson」 は同居できません。


ldap_add: Invalid syntax (21)
    additional info: st: value #0 invalid per syntax
  • st の漢字コードが UTF-8 ではない。
  • 以下を実行すればOK
    [root]# nkf -w <file名> > <新ファイル名>
    (ldapadd コマンドで <新ファイル名> を指定して実行)
    



メモ slappasswd


/usr/local/sbin/slappasswd: error while loading shared libraries:
libssl.so.0.9.7: cannot open shared object file: No such file or directory
  • ライブラリの検索パスがない。
  • /etc/ld.so.conf に 「/usr/local/lib」 を追加して、「ldconfig」 を実行する。
    [root]# cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    /usr/local/lib
    
    [root] /sbin/ldconfig
    


Password generation failed for scheme {CRYPT}: scheme not recognized
  • openldap のコンパイルの際、「--enable-crypt」 を付けて configure していない。



メモ ldapsearch


ldap_bind: Can't contact LDAP server (-1)
    additional info: TLS: hostname does not match CN in peer certificate
  • CA証明書に書かれている Common Name と hostname が一致しない。
  • /etc/hosts の書き方がおかしい。例えば、以下ような場合。
    ○正
    10.1.1.15     test15.examples.com test15
    
    ●誤
    10.1.1.15     test15 test15.examples.com
    



メモ sudo


sudo: can't stat /etc/sudoers: No such file or directory
  • /etc/ldap.conf に以下を書いてない。
    sudoers_base ou=SUDOers,dc=examples,dc=com
    


sudo: error while loading shared libraries: libldap-2.3.so.0: 
cannot open shared object file: No such file or directory
  • ライブラリの検索パスがない。
  • /etc/ld.so.conf に 「/usr/local/lib」 を追加して、「ldconfig」 を実行する。
    [root]# cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    /usr/local/lib
    
    [root] /sbin/ldconfig
    



メモ ssh


id: cannot find name for user ID 1001
id: cannot find name for group ID 1001
  • /etc/ldap.conf の read 権限がない。
  • 以下のようにパーミッションを変更する。
    [root]# chmod 644 /etc/ldap.conf
    


You don't exist, go away!
  • slapd が動いていない。


Sorry, user gamba is not allowed to execute '/bin/su -' as root on test15.examples.com.
セグメンテーション違反です
Segmentation fault
  • /lib/security/pam_ldap.so のバグです(nss_ldap-226-17 で起こります)。
  • nss_ldap パッケージ、もしくは pam_ldap を最新版にバージョンアップします。



メモ slurpd


Error: Malformed "replica" line in slapd config file, line 110
Warning: failed to add replica "10.1.1..15:389 - ignoring replica
  • slapd.conf の replica ディレクティブに suffix の行がない。



メモ passwd


[gamba@test15]$ passwd
Changing password for user gamba.
Enter login(LDAP) password:
LDAP Password incorrect: try again
Enter login(LDAP) password:
LDAP Password incorrect: try again
Enter login(LDAP) password:
Password change aborted
  • passwd コマンドによるパスワード変更ができない。
  • ldap の DB に入るパスワードが crypt/MD5 暗号になっていない。エントリー追加の際、ssha を使用したパスワードにすると、こうなる。



メモ slapd


[root]# /etc/rc.d/init.d/slapd start

●/var/log/slapd.log
Dec 10 09:51:56 test15 slapd[8074]: /usr/local/etc/openldap/schema/sudo.schema
: line 3: unknown directive <#> outside backend info and database definitions.
  • sudo.schema ファイルのコメントアウトの前にスペースが入っている。
  • 以下のようにスペースを削除する。
    ●修正前
      #
      #  schema file for sudo
      #
    
    ●修正後
    #
    #  schema file for sudo
    #
    




ここまで

| arinux | openldap | 16:45 | comments(0) | trackbacks(1) | pookmark |









http://arinux.net/trackback/42
[Linux][PHP]LDAP認証してみた。
サンプルはこんな感じ。 session_start(); $errorMessage = ””; $viewUserId = $ldapDomainname = ”DOMAINNAME”; //when push login button if(isset($_POST[”login”])) { $ldaphost = ’DOMAIN_SERVER’; $ldapport = 389; $ldapconn = ldap_connect($ldaphost,
| ばずなダイアリー | 2010/09/30 5:29 PM |
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE