ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

DebianコミュのWebサーバからメールサーバーのユーザーを作成したい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Webサーバーから、メールアカウントを作成できるようにしたいと考えています。
現在、2つの案を考えていますが、簡潔さ、セキュリティー面の2つの面を考慮し、どのようにしたら良いか迷ってしまい質問させて頂くことにしました。

★やりたいこと

Webサーバー上で稼働するグループ向けサービスに新規ユーザーを追加した場合にそのユーザーのメールアカウントを新規ユーザーが作成出来るようにする。

★環境
Webサーバー
OS:Debian
HTTPサーバー:Apache2
Webアプリ:Perl 

メールサーバー
OS:Debian
Postfix

※当然、Webサーバー、メールサーバーとも同一ドメインです。

新規ユーザーがメールアカウントを作成する場合の捜操作
1・メールアカウント作成画面で、メールアドレスのドメインを除いた部分を
  入力する。
2・メールアカウント作成ボタンを押下する
3・アカウントが作成され、新規ユーザー所有の個人メールアドレスへ
  完了通知メールを送信する。

案1:
 1・メールアカウント作成ボタンの押下時に、メールサーバーの
   特定アドレスへメールを送信(メールアドレスのドメインを除いた部分を
   メールの本文へ埋め込んである)
 2・メール受信後、プログラムを起動してメールサーバーに作成する
   ユーザーをユーザー作成用のファイルに書き込む
 3・クーロン(rootユーザー)で、定期的にユーザー作成用のファイルを
   チェックして、ファイルが有れば、ファイルをオープンして、
   ユーザーを作成する。
   また、同時に作成したユーザーのユーザー作成依頼のメールを削除する。

案2:
 1・メールアカウント作成ボタンの押下時に、メールサーバーに
   Perlのプログラムでリモートログインして、rootユーザーに
   スイッチ(su)して、メールサーバーのユーザーを作成する。

悩んでいること
案1:
 1・作りが複雑
 2・ユーザー作成依頼のメールを、どのようにして識別して削除
   出来るのか不明

案2:
 1・セキュリティー面が不安

以上の通り考えています。

考慮不足、これ以外に良い案等ありましたら指摘して頂けると助かります。

宜しくお願いします。

コメント(3)

Debianだから、そういうことができるパッケージを探す、という流れを期待しつつ。

まず、LDAPなどでユーザ管理をする、というのはナシでしょうか?

「悩んでいること」の案1の2ですが、別にメール自体を保持する必要はないでしょう。メールからプログラムを起動するのであれば、そこでメールアドレスを抽出して、扱いやすいフォーマットで記録すればいいわけだし。

案2のほうですが、そんなことをするなら、OpenPGP(など)で公開鍵を設定し、sshで直接root権限でプログラムを実行できるようにしたほうが、ずっとましです。useraddだかadduserだかのみを実行できるよう設定できます。
Web サーバーとメールサーバーが同一ドメインということは、双方ともにネットワーク的に近い場所にあるという認識でいいでしょうか
そうであるならメールサーバーのユーザーを MySQL などの DB に保存して、それを参照するようにすれば簡単になります

Web サーバーからは、ユーザーを DB に追加する
メールサーバーは同じ DB を参照してユーザーを確認する

----

今更、ユーザーを DB に保存するように変更できないというのであれば、案1 でも簡単につくれそうです
ユーザー登録用の専用ユーザーを用意しておき、cron 等で定期的にそのユーザーのメールボックスを直接読みに行けばいいのですから
メール本文は Web サーバーのプログラムで作られるので、定型文であることが保障できます
定型文中からユーザー名を抽出するのは簡単なので、それを元にユーザーを新規登録すればいいだけです

また、cron を使わずに、メールが届くたびに postfix から直接プログラムを起動することだって可能です

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Debian 更新情報

Debianのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング