Perlでは新規ファイルを作成してchmod()で属性を変更しても所有者は変わりませんでした。
FFFTPでは、
□/public_html/testdir
名前 属性 所有者
logwrite.cgi 705 1234
log200402.log 700 1234
となるのですが、PHPではFFFTPが、
□/public_html/testdir
名前 属性 所有者
logwrite.php 705 1234
log200402.log 700 99
のように、所有者が変わってしまうのです。
PerlからPHPの移植がうまくいっていないのです。
logwrite.phpのその処理の部分は
$fp = fopen($logfile, "w");
fwrite($fp, $logdata);
fclose($fp);
chmod($logfile, 0700);
です。このあとPHPで所有者を99から1234に変更できれば
よいのですが、方法が分かりません。
そうでなくとも、所有者が1234のままで
chmod($logfile, 0700);が完了できれば問題ありません。
Perlではchmod()で所有者が変わらなかったのに、
PHPではchmod()によって所有者が変わってしまって
元の所有者に戻せなくて困っています。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
大きなお世話かもしれませんが、 log200402.log のパーミッションは 606じゃありませんか?(^^;
後、最初からからのファイルとして、log200402.log をUPしているのでしょうか?
それとも、fopen($logfile ,"w+"); として、ファイルを作成しているのでしょうか?
後者であれば、httpdのユーザー(nobody ?)でファイルが作られますが…
この回答への補足
すみません。質問が間違っていました。
よく見ると、PHPで作成するファイルはfopen()でもtouch()でもcopy()でも、全て所有者がよく分からないものでした。
所有者変更のchown()も権限不足で使えませんでした。
新規ファイル作成の所有者に関する問題でまだ悩んでいます。
fopen()の所有者は何になるのか、指定はできるのかなどの
情報を探しています。
No.2
- 回答日時:
> 所有者変更のchown()も権限不足で使えませんでした。
safe_mode = On になっているって事ですね。
これはどうしようもありません。
サーバー管理者に問い合わせれば、OKが出るかもしれませんが、ほぼないでしょう。
> fopen()の所有者は何になるのか、指定はできるのかなどの情報を探しています。
所有者に関しては、最初に空のファイルをUPロードしておけば、問題ないのではないですか?
No.3
- 回答日時:
えっと…まずはこのサーバーは、inamonsentoさんが、自分でいじれるのでしょうか?
Linux+Apahceと仮定して説明すると、何もしなければ、httpdユーザーはnobodyです。
ゆえに新規に作成されたファイルの所有者はnobodyになります。
chmodコマンドは、当然nobodyの権限では利用できません。
これをnobodyの権限で利用したければ、少々危険ではありますが、sudoを使ってnobodyに権限を与えてやればいいです。
visudoでファイルを開き
nobody ALL = NOPASSWD: /usr/bin/chmod
を追加してやります。
sudoの使い方などはマニュアルを参照してください。
もし、サーバーをいじれなければ、これは使えませんが…
と言うか空のファイルをUPしておく方が楽だと思うのですが…
何か不具合でもあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の民法についての質問になります。 占有についての質問になります。 問 権原の性質上占有 1 2023/05/25 21:40
- 自動車ローン・自動車保険・車両保険 『自賠責保険』の件 2 2022/10/25 09:14
- 自動車ローン・自動車保険・車両保険 車の名義変更(使用者と所有者)について 現在、車の所有者は車屋さんで、使用者は夫となっています。 車 6 2022/04/20 12:40
- 法学 所有権の登記のない不動産 の表題部所有者の持分について変更があった場合 1 2022/11/25 14:50
- その他(パソコン・スマホ・電化製品) ウイルスバスターの制限解除方法 1 2022/08/09 22:08
- 分譲マンション 分譲マンション・管理組合の委任状について 3 2023/04/23 23:49
- その他(行政) 学生の頃から使っていた原付きをもう使っておらず、 父親が使うことになりました。 名義変更をしたいので 7 2022/05/05 12:35
- その他(車) 車庫証明 2 2022/05/05 18:19
- 自動車ローン・自動車保険・車両保険 軽自動車の所有者の変更をしたいのですが、 ローンが完了したので車を買った所に、必要書類を持っていき後 1 2022/07/13 23:16
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験 民法について質問です。 Aの所有する甲土地につきAがBに対して売却し、Bはその後10年 4 2023/02/11 12:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
掲示板のセキュリティについて...
-
PHPSpreadsheetを使って関数を...
-
PHPとHTML+Xamppの掲示板で画像...
-
メールフォームのタイトルが文...
-
ワードプレスサイト PHP8.0.25...
-
php 確認表示画面で値をSESSION...
-
ワードプレスプラグイン MW WP ...
-
PHPで画像の渡しが上手く行きま...
-
php エラー
-
phpでPEAR::DBを使っているので...
-
phpでクラスのメソッドで同名の...
-
SFTPなどは使わないホームペー...
-
Q&Aサイトを作成していてURLの...
-
PHP一覧表示した項目にリンクを...
-
PHPのセッション有効期限について
-
php 完了画面の送信メールのコ...
-
PHPプログラムの間違い
-
index.phpって何ですか? 具体...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
is_fileでファイルが存在してい...
-
chmod()で所有者が変わってしまう
-
readfileによる外部HTMLのCSS
-
シムシティDSのファイルについて
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
PHP8を使うと、大量のWarningが...
-
別ファイルの変数を呼び出した...
-
index.phpって何ですか? 具体...
-
awsにApacheとPHPを入れて、何...
-
Subversionのリポジトリの削除
-
phpでPEAR::DBを使っているので...
-
.phpと.incファイルの違いはな...
-
リンク先を隠す方法はないでし...
-
バッチを用いたフォルダの自動移動
-
「クラス関数」「メンバ関数」...
-
CFileDialogの最初のディレクト...
おすすめ情報