[PHP-users 19424]Re: PHPからユーザー追加(FreeBSD)

Masaharu Nagata nagata @ good-day.co.jp
2003年 12月 19日 (金) 14:56:07 JST


こんにちは。
長田と申します。


On Fri, 19 Dec 2003 13:44:34 +0900
齊藤 智宏 <xaitoh_php @ yahoo.co.jp> wrote:

> はじめまして。齊藤と申します。
> PHPを通してシステムにユーザーを追加する、また、
> ユーザーの情報を変更するにはどうすればいいか悩んでおります。
> マシン構成・設定などは以下の通りです。
> 
> ●サーバーマシン構成
> PHP Version 4.3.4
> Apache/2.0.48
> FreeBSD 4.8-RELEASE
> ProFTPD Version 1.2.9
> Sudo version 1.6.7p5
> 一般的なパソコン
> 
> 以下ソースです。※グループftpが在るのが前提
> <?
> system("/usr/local/bin/sudo mkdir /data/hoge");
> 
> system("/usr/local/bin/sudo pw useradd -n hoge -c 'hogehoge' -g ftp -d /data/hoge -s /usr/local/bin/bash");
> 
> system("/usr/local/bin/sudo passwd hoge");
> system("hogedayo");
> system("hogedayo");
> system("/usr/local/bin/sudo chmod 755 /data/hoge");
> system("/usr/local/bin/sudo chown -R hoge /data/hoge");
> system("/usr/local/bin/sudo chgrp ftp /data/hoge");
> ?>
> 
> 実行すると、ディレクトリ作成・操作、ユーザー作成は出来るのですが
>  Changing local password for hoge. Password unchanged. 
> といってパスワードの設定はできませんでした。
> おそらく、一つのsystem文でpasswdコマンド部分を記述できれば出来るような
> 気がするのですが、その記述方法は分かりませんでした。
> またはpw useraddのコマンドのオプションでパスワードが設定
> できればいいのですが、、、
> 
> 下記の記事のように、この件に関しては幾度も話題に上がって
> いるようですが、
> http://ns1.php.gr.jp/pipermail/php-users/2002-July/008422.html
> FreeBSDでの件についての解決方法が無かった、または見つけ
> られなかったので
> MLに登録・質問させていただきました。


http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=pw&dir=jpman-4.7.0%2Fman&sect=0
のページに、pw コマンドの -h オプションの記載があります。

このオプションの使い方は、齊藤さんの例にならうと、以下のようになります。
$ echo 'password' | /usr/local/bin/sudo pw useradd hoge -c 'hogehoge' -g ftp -d /data/hoge -s /usr/local/bin/bash -h 0

これで解決できますでしょうか?

-- 
長田真治 <nagata @ good-day.co.jp>
株式会社グッデイ
http://www.good-day.co.jp/
telto:06-4796-6670 faxto:06-4796-7373


PHP-users メーリングリストの案内