LoginSignup
0
3

More than 5 years have passed since last update.

Postfix+Dovecot バーチャルドメイン環境でユーザーを簡単に追加できるスクリプトを書いた

Last updated at Posted at 2017-01-03

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コマンドを使用します)

基本的に上記以外の操作(バーチャルドメインの設定を含む)は手動で行う必要があります。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3