0

そのため、すべてのユーザーが動的に作成されたフォルダーに画像をアップロードできるスクリプトを開発しようとしています。

これが私が作ったラインです。

$newID = 1
mkdir('uploads/job_images/'.$newID.'/',0755);

これにより、すでに設定されている「uploads/job_images」内にフォルダーが作成されます。

私の問題は、「ジョブ イメージ」権限が 755 または 766 に設定されている場合、ディレクトリを作成できないことです。しかし、「job_images」パーミッションを 777 に設定しようとすると、ディレクトリを作成できます。しかし、彼らは 777 がセキュリティ上のリスクであると言います。パーミッションが 755 に設定されている場合、「job_images」内にフォルダーを作成できないのに、「job_images」パーミッションが 777 に設定されている場合、「job_images」内にフォルダーを作成できるのはなぜだと思いますか?

作成されたフォルダには、「所有者/グループ」も 99/99(nobody) に設定されています。その所有者グループは大丈夫ですか?

質問:

  1. 「job_images」フォルダに777を使わずにできるか、777のままでいいですか?
  2. 作成したフォルダの所有者を変更する必要がありますか? いつかそれらのフォルダーを削除する必要があるかもしれません。
  3. Web サイトのユーザーが作成したフォルダのグループをデフォルトに設定するにはどうすればよいですか?
4

2 に答える 2

0

sudochownディレクトリの所有権をApache(またはコードを実行しているソフトウェア/サービス/デーモン:)に変更するために使用してみてください。ディレクトリの作成者である場合は、sudo を使用する必要はありません (ただし、ほとんどの Unix/Linux システムでは、ターゲット グループのアクセス許可も必要です)。

ファイルシステム権限の数値表記についてお読みください。最初の 7 は、所有者グループがファイルの読み取り、書き込み、および実行の権限を持っていることを示します。5 は、書き込みなしの読み取りと実行を意味するため、新しいディレクトリを作成できません。

于 2013-01-07T04:36:26.220 に答える
0

私は同じ問題を抱えています.PHPはいくつかの機能を制限しています:

セーフ モードによって機能が制限される 解決策は、/etc/php5/apache2/phi.ini 構成ファイルでディレクティブ safe_mode_gid=On を設定することです。

safe_mode_gidディレクティブを参照 してくださいLAMPサーバーUbuntu 12.04で機能します

于 2014-03-15T02:38:40.227 に答える