Project

General

Profile

LDAP認証の設定

前提

  • LDAP側は下記の設定とする
    • 接続用のマネージャは「cn=Manager,dc=example,dc=local」
    • ユーザは「ou=Members,dc=example,dc=local」以下の「PosixAccount」属性持ちとする
    • dovecotで認証するユーザ名がLDAP上の「uid」とする
    • dovecotで認証するパスワードがLDAP上の「userPassword」とする
    • dovecotでのメールスプールはホームディレクトリとし、LDAP上に「homeDirectory」で設定されている

設定

  • 「/etc/dovecot/dovecot-ldap.conf.ext」を作成し、下記の内容を設定する。
    hosts = localhost
    dn = cn=Manager,dc=example,dc=local
    dnpass = パスワード
    ldap_version = 3
    base = ou=Members,dc=example,dc=local
    user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
    user_filter = (uid=%u)
    pass_attrs = uid=user,userPassword=password
    pass_filter = (uid=%u)
    default_pass_scheme = PLAIN
    
  • 「/etc/dovecot/conf.d/10-auth.conf」の下記設定を変更する。
    # コメント化
    #!include auth-system.conf.ext
    
    # コメントアウト
    !include auth-ldap.conf.ext
    
  • サービスをリスタートする
    systemctl restart dovecot
    

動作確認

  • 下記コマンドを実行し、次の結果が返ってくることを確認する
    # telnet localhost 143
    
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready.
    
  • Dovecotへの接続ができたら、次のコマンドで認証を行う
    1 login ユーザ名 パスワード
    
    1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
    
  • 認証ができたら、次のコマンドで切断する
    2 logout
    
    * BYE Logging out
    2 OK Logout completed.
    Connection closed by foreign host.
    
  • 以上で動作確認を終了する