Linode で LAMP スタックを実行しています。Ubuntu のバージョンは Lucid です。
PHP スクリプトがコマンドmkdir()
またはmove_uploaded_file
コマンドを実行すると、新しく作成されたフォルダー/ファイルが UNIX ユーザー「Grusha」によって所有されてしまいます。このユーザーを作成しましたが、ファイルを所有するべきではありません。www-data
Web フォルダー全体は、新しいフォルダー/ファイルが移動しているフォルダーを含む (拡張子による) と同様に、によって所有されます。
ユーザーの /etc/passwd 行は次のようになります。
grusha:x:1000:1003:,,,:/home/grusha:/bin/bash
/etc/group は次のとおりです。
grusha:x:1003:
Grusha は、作成された PHP セッションも所有しますが、他には何もありません。システム上のプロセスやファイルも Grusha として実行されません。
公開鍵でログインしましたが、通過するユーザーは Grusha ではありません (ルートでもありません)。
Grusha を削除すると、Apache を再起動できなくなります。取得bad username
し、再起動に失敗します。PHP セッションも機能しません。
最後に Grusha を再度追加すると、サーバーが起動し、スクリプトが Grusha ではなく Grusha が所有するファイルを作成することを除いて、すべてが機能しますwww-data
。
できる限り調べてみましたが、情報が見つかりません。私httpd.conf
は空です。私apache2.conf
には次の行が含まれています:
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
これらの変数は のように定義さwww-data
れ/etc/apache2/envars
ます。
誰か提案があれば、私は感謝します。
どうもありがとう、エリオット