[PHP-users 34618] Re: パーミッションを変更(chmod)するための権限

clicker @ fooo.cjb.net clicker @ fooo.cjb.net
2009年 6月 16日 (火) 14:39:08 JST


武山です

PHPの実行ユーザーとFTPで接続したときのユーザーは同じこともあれば
違うこともあります。

レンタルサーバーなどでは、PHP4がDSO版で動いていて実行ユーザーがnobodyやwww
PHP5はCGI版で動いてて、suExecが効いてFTPアカウントと同じ実行ユーザ。
なんてパターンが多いのではないでしょうか。

実際の実行ユーザーの調べ方は、、
ベストな方法とは思えませんが、こんな感じでどうでしょうか。

<?php
header("Content-Type: text/plain");
system("id");


stone_hiromi @ ybb.ne.jp さんは書きました:
> 武山さま
> 
> こんにちは。石田です。
> さっそくのご回答ありがとうございます。
> 
> ずっと悩んでいたため、ご回答をいただき、本当に助かりました。
> 少し原因が見えてきました。
> 
> お手数ですがもう少しヒントをいただきたいのですが、
> 実行ユーザとは、FTPで接続した際のユーザ名と同じだと考えても
> よろしいのでしょうか?
> 
> FTPでは「aaa」というユーザ名で接続し、対象のフォルダのオーナーも「aaa」
> です。
> 
> 
> 
> よろしくお願いします。
> 
> 
> clicker @ fooo.cjb.net さんは書きました:
>> こんにちは武山と申します。
>>
>> 一般には、実行ユーザーとファイルの所有者が同じでなければ
>> パーミッションの変更はできません。
>>
>> レンタルサーバーによってはPHP4とPHP5で異なる実行ユーザーだったり
>> することもあります。
>>
>>
>> stone_hiromi @ ybb.ne.jp さんは書きました:
>>   
>>> こんにちは。石田と申します。
>>>
>>> レンタルサーバ上のtestフォルダのパーミッションを、
>>> PHPプログラムで変更しようと、以下のコードを書きました。
>>>
>>> chmod("test",0707);
>>>
>>> 実行したところ以下のエラーが表示されます。
>>>
>>> Warning: chmod() [function.chmod]: Operation not permitted in
>>> /home/●●●/public_html/ch.php on line 12
>>>
>>> パーミッションを変更するために必要な条件などあるのでしょうか?
>>>
>>>
>>> いくつかのレンタルサーバで試しましたが、正常に変更できるサーバと
>>> エラーが表示されるサーバとがあるようです。
>>>
>>> よろしくお願いします。
>>>     
>> _______________________________________________
>> PHP-users mailing list  PHP-users @ php.gr.jp
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3


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