内容へ移動
メモとかメモのようなものとか(By ルーキーの中のひと)
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
ODT 出力
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
serverapps:postfix:ldap2mysql
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== LDAPの認証データをDovecot用DBに入れる ====== ===== このページは ===== Courier-imapのLDAP認証からDovecotのMysql(PostfixAdmin)に変更するにあたっての手順記録です。 ※今回LDAP上のSHAパスワードがそのまま利用可能でしたが、暗号化形式によっては利用できない可能性もありますのでご注意ください。 なお、インストール等については[[serverapps:postfix:postfix-mysql-dovecot|]]を参照してください。 ===== 必要なデータ ===== Dovecotでの認証に必要なデータは以下の通り。 * ドメイン名 * ユーザのメールアドレス * hash化されたパスワード ===== LDAPデータのExport ===== 今回は手を抜いて、Apache Directory StudioからExportしました。\\ 同様のデータが取れれば、slapsearchやLL系の言語でも構いません。 ==== データについて ==== 他は大したことありませんがパスワードには注意が必要。 Apache Directory Studio等で見ると以下のように見えますが、この場合はそのままDBにもっていって大丈夫です。 {SHA}IOQCvLkhjTsKOllzHanmYaVUp1w= LDIFなどで取得すると以下のようになります。この場合はBASE64でエンコードされてますので、デコードの上でDBに格納してください。 e1NIQX1JT1FDdkxraGpUc0tPbGx6SGFubVlhVlVwMXc9 ===== SQL文 ===== 取得したデータをもとにSQL文を生成してMySQLに格納します。\\ データは、以下の通り。実際の環境に合わせて変更してください。 * ドメイン名:example.com * ユーザ名:mailuser@example.com * パスワード:{SHA}IOQCvLkhjTsKOllzHanmYaVUp1w= ==== domainテーブル ==== <code sql> INSERT INTO `domain` (`domain`, transport, created, modified) VALUES ( "example.com", "virtual", now(), now()); </code> さらに細かい指定をしたい場合には以下のカラムを設定します。((PostfixAdminからも操作できます。)) ^カラム^内容^ |description|説明| |aliases|転送アドレス数上限| |mailboxes|メールアドレス数上限| |maxquota|メールアドレスの容量上限(MByte)| |quota|ドメインの容量上限(MByte)| |active|利用の可否(1:利用可)| ==== aliasテーブル ==== <code sql> INSERT INTO `alias` ( address, `goto`, `domain`, created, modified, active) VALUES ( "mailuser@example.com", "mailuser@example.com", "example.com", now(), now(), 1); </code> 転送アドレスを管理するテーブルですが、このテーブルでaddressとgotoが一致している場合にMailboxへ配送されます。 ==== mailboxテーブル ==== <code sql> INSERT INTO mailbox( username, password, name, maildir, quota, local_part, `domain`, created, modified, active) VALUES ( "mailuser@example.com", "{SHA}IOQCvLkhjTsKOllzHanmYaVUp1w=", "おなまえ", "path/to/maildir", 1024000000, "mailuser", "example.com", now(), now(), 1); </code> ここのQuotaはByte単位です ===== おまけ ===== メールデータを移した際、Courier-imapとDovecotでは、フォルダの命名規則が若干違う。\\ 具体的にはCourier-imapで”.Trash”がDovekotでは”.INBOX.Trash”となる。\\ いちいち治すのは面倒なので、shellのワンライナーで((Trashのようなもの以外は受信トレイの下にあるかで変わります)) ls -d .[^.I]* | sed "s/^\(.*\)/mv '\1' '\.INBOX\1'/g" | /bin/sh
serverapps/postfix/ldap2mysql.txt
· 最終更新: 2017/07/20 14:28 by
hayashi
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
ODT 出力
文書の先頭へ