[PHP-users 8460] Re: web上からphpを使ったユーザー管理(useradd)

Moriyoshi Koizumi php-users@php.gr.jp
Sat, 06 Jul 2002 04:04:09 +0900


小泉@町田です。

ちょっとPHPの範疇から外れますけど、
たぶん既出でないと思うので書いておきます。
間違ってるかもしれないのでどんどん指摘してください。

他の *nix ではどうか分かりませんが、Linux の場合なら、
pam-mysql 認証モジュール(http://sourceforge.net/projects/pam-mysql/) や
pam-pgsql 認証モジュール(http://sourceforge.net/projects/sysauth-pgsql/)
をインストールして、

/etc/pam.d/sshd
/etc/pam.d/systemauth

のようなファイル群を少し書き換えれば、
MySQL や PostgreSQL の DB上に記録されたユーザアカウントで
ログインできたりするようになります。
(書き換え方や設定の詳細は pam のマニュアルを参照してください。
必要条件だの十分条件だの結構複雑です。)

なお、RedHat を使う場合は、auth_config が
スタートアップ時 systemauth を書き換えてしまうので注意が必要です。

セキュリティ上 * 実に * 好ましくないやり方ですので、
あくまで参考程度に。

pam-pgsql で google するとトップに出てくるのが、  http://online.securityfocus.com/advisories/3950
(このバグは直っているはずですが)

pam-mysql も昔は深刻なバグが。
http://www.linuxsecurity.com/advisories/other_advisory-833.html 

それでもDBでユーザ管理をやってみたい場合、
パスワードを生で格納しないでMD5ダイジェストにしておくなど、
基本的な注意事項をお忘れなく。


titi@beefarm.jp <titi@beefarm.jp> wrote:

>  キスミです。
>  
>  ありがとうございました。上手くいきました!
>  
>  ところで好奇心から質問させて頂きますが、sudoを使わずにやることはやはり
> 無理なのですか?
> 
> >はじめまして。
> >
> >やりかたはいろいろあると思いますが、apacheの起動ユーザー
> >(たいていはnobodyまたはapache)にsudoでuseraddコマンドを追加
> >します。sudoの使い方はマニュアルで調べてください。visudoでコマンドを
> >登録します。これでPHPからユーザー登録できます。
> >
> >サンプルコード
> ><?php
> >    $login = "test";
> >    $passwd = crypt("hogehoge", "AB");
> >    system("/usr/local/bin/sudo /usr/sbin/useradd -p $passwd $login");
> >?>
> >
> >
> >_______________________________________________
> >PHP-users mailing list
> >PHP-users@php.gr.jp
> >http://ns1.php.gr.jp/mailman/listinfo/php-users
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users