みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Postfix(Fedora)へのユーザー追加、パスワード変更

最近、自宅に
Fedora CORE2
Apache
PHP
MySQL
PostFIX
という環境を構築して勉強を始めたものですが、
PHPから、POSTFIXのユーザーアカウントを追加したり、
パスワードを変更したりするスクリプトはどのように書くのが
一般的なのでしょうか?

別に、cgiを作成するのが良いのか、PHPから直接
コマンドを叩いたり、ファイルを書き換えたりするのが
良いのか、どなたかご教授してもらえませんでしょうか?

また、参考にできるサンプルソースなどがある場所を
ご存知の方はお願いします。

googleなどを使って検索してみましたが、今ひとつ解が
わかりません。


よろしくお願いします。

dev14

投稿日時 - 2005-01-18 13:31:21

QNo.1173651

暇なときに回答ください

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

レスが付かないようなので…

> PHPから、POSTFIXのユーザーアカウントを追加したり、
> パスワードを変更したりするスクリプトはどのように書くのが一般的なのでしょうか?

一般的と言われると、一般的には、こんなスクリプトは書きません。
理由は簡単ですよね?
メールユーザーを追加するという事は、UNIXユーザーを追加するという事と同義です。
こんな事がPHPから出来てしまえば、それは危険で仕方ありません。

> PHPから直接コマンドを叩いたり、ファイルを書き換えたりするのが良いのか

これを無理矢理やろうと思えば、それは出来ますよ。
sudoで実行ユーザーに必要な権限を与えてやり、
system関数からコールする事で可能です。

例えば、フォームから
$user=$_POST["user"];
$pass=$_POST["pass"];
とPOSTされ、ホームディレクトリを $HOME_DIRとすれば
$pass=crypt($pass,"AB");
(パスワードはcript関数で暗号化してやらなければなりません)

system("sudo /usr/sbin/useradd ".$name." -p ".$pass." -g 2000 -d ".$HOME_DIR."/".$name ." -s /bin/false");
(-g 2000は適当なグループに登録してるだけです)
と言うような感じで登録してやり、同様にメールアドレスを発行するコマンドをコールしてやればいいです。

ただし、上記は大変危険です。
大変失礼ですが、質問を拝見する限り、今のdev14さんの技量では、やめた方が無難かと思います。

投稿日時 - 2005-01-19 12:55:18

あなたにオススメの質問