[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:06979] Re: PostgreSQL で www-data をユーザーにする



澤田です。

kise said at Mon, 13 Jul 1998 20:11:49 +0900 :
>> Sawada Hideaki <sawada@xxxxxxxxxxxx> adds:
>>> www-data)Bと同じユーザID(33)で、wwwdataというユーザを作成する
>>> )Bというのはどうでしょう。
>sawada> )B同じ UID で二つ名前を名乗るのって有りですか?
>useradd)Bだったら-oをつけないといけませんが、作成することは
>)Bできます。

せっかくの機会 (作り込みをしてからでは恐くてできない) なので 
www-data を追加してみました(元々の www-data は wwwdata に
置き換えてしまった)。

useradd も adduser も www-data を baduser とかいうので、
また、vipw で編集です。

/etc/passwd を

www-data:x:33:33:www-data:/var/www:/bin/sh
wwwdata:x:33:33:www-data:/var/www:/bin/sh

とすると(/etc/shadow もこの順序にしました。)

$ ps aux | grep apache
root       188  0.0  2.2  2556  1440  ?  S    11:12   0:00 /usr/sbin/apache 
www-data   194  0.0  2.8  2680  1756  ?  S    11:12   0:00 /usr/sbin/apache 
www-data   195  0.0  2.7  2672  1736  ?  S    11:12   0:00 /usr/sbin/apache 
.....

となります。

で、php3 を実行すると

Warning: Unable to connect to PostgresSQL server: FATAL 1: 
SetUserId: user "www-data" is not in "pg_shadow" in 
/home/sawada/html/pg_test.php3 on line 5

と怒られます。

もしかしてと /etc/passwd を

wwwdata:x:33:33:www-data:/var/www:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh

とすると

$ ps aux | grep apache                                                          
root       188  0.0  2.2  2556  1440  ?  S    11:12   0:00 /usr/sbin/apache     
wwwdata    194  0.0  2.8  2680  1756  ?  S    11:12   0:00 /usr/sbin/apache     
wwwdata    195  0.0  2.7  2672  1736  ?  S    11:12   0:00 /usr/sbin/apache     
.....

php3 の実行は成功しました。

>sawada> ls )Bした時、owner にどちらが表示されるかとか、

/etc/passwd の上にあるほうのようです。
( ps top id コマンドの表示もそうでした。)

>sawada> PostgreSQL )Bにどちらの名前でアクセスにいくのかとか、
>sawada> )B考えてしまいます。

UID を元に /etc/passwd から先に取得した名前でアクセスするよう
です。

二つ名前をつけて wwwdata www-data の順にしておけば、
/etc/apache/httpd.conf は "User www-data" のままで PostgreSQL
に wwwdata としてアクセスできるという結果になりました。

Nomura Research Instistute,Ltd  Hideaki SAWADA
                                sawada@xxxxxxxxxxxx