Postfix+Dovecot バーチャルドメイン環境でユーザーを簡単に追加できるスクリプトを書いた
Postfix, Dovecot, CyrusSASLを用いたバーチャルドメイン環境で簡単にユーザーの追加、削除、リスト表示ができるスクリプトを書きました。
GitHubで公開しています。
GNU Bash, sed等に依存しているので、おそらくBSD等ではそのままでは動かないと思います。その他環境合わせて適宜スクリプトを変更して使ってください。
前提
以下の環境を前提としています。(合わない場合は、適宜スクリプトを変更する必要が有ります。)
- バーチャルドメイン環境であること。(デフォルトでは/var/mail/vhosts/DOMAIN/USER/以下にMaildir形式でメールを保存している環境であること)
- Postfix で
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
としていること。 - CyrusSASLを使用し、
pwcheck_method = auxprop
として、sasldbとして/etc/sasldb2
を使用していること。 - Dovecotを使用し、conf.d/10-auth.conf内でauth-passwdfile.conf.extを有効にした上で、その中で
driver = passwd-file
とし、またパスワードファイルとして/etc/dovecot/users
を使用していること。
仕組み
-
sasldblistusers2
コマンドの結果、/etc/postfix/vmailbox
, /etc/dovecot/users
を参照し、それぞれに登録されているメールアドレスが同一かを調べます。(異なっている場合はエラー)
- ユーザーの追加、削除の際は、
saslpasswd2
コマンドを使用し、また/etc/postfix/vmailbox
, /etc/dovecot/users
の内容を変更します。(/etc/dovecot/users
に登録するパスワードのハッシュを求めるためにdoveadm pw
コマンドを使用します)
sasldblistusers2
コマンドの結果、/etc/postfix/vmailbox
, /etc/dovecot/users
を参照し、それぞれに登録されているメールアドレスが同一かを調べます。(異なっている場合はエラー)saslpasswd2
コマンドを使用し、また/etc/postfix/vmailbox
, /etc/dovecot/users
の内容を変更します。(/etc/dovecot/users
に登録するパスワードのハッシュを求めるためにdoveadm pw
コマンドを使用します)基本的に上記以外の操作(バーチャルドメインの設定を含む)は手動で行う必要があります。
Author And Source
この問題について(Postfix+Dovecot バーチャルドメイン環境でユーザーを簡単に追加できるスクリプトを書いた), 我々は、より多くの情報をここで見つけました https://qiita.com/yasuo-ozu/items/9275b03574a80834087c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .