小泉@町田です。 ちょっと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