web-dev-qa-db-ja.com

Apache依然としてファイルを書き込んだファイルを実行した後にアクセス許可があるのか

サーバー上で、私はploadというファイルを持っていて、その状態は次のとおりです。

drwx--x--- 12 bob bob 4096 JUL 20 19:07 upload

このファイルを使用して、[〜#〜] php [〜#〜]関数move_uploaded_fileの2番目の引数の宛先ファイルとなります。

したがって、Apacheを/ tmpからMy ploadへのファイルを移動させる権限を得るために、ApacheBOBグループに追加します。そのため、許可があります。 apacheは、Apacheが起動しているユーザーです。

しかし、グループapacheからapache _ sermodを使用して、apache _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _}をアップロードできます。グループではが明らかにそうではありません。

ファイルのアップロードはIのときだけ失敗します

chmod -R 700 upload

またはいつでも

service httpd restart

私はこれを逃した場所がわかりません。

usermodは、Apacheの再起動後にパーミッションの変更を適用します。

私を助けてくれてありがとう。

1
longtengaa

これは予想される動作です、 sermod コマンドはアカウントファイルのみを変更します

USERMODコマンドは、コマンドラインで指定されている変更を反映するようにシステムアカウントファイルを変更します。

Apacheプロセスには、関連するアカウントファイルの情報に基づいて開始されると、それが開始されたときにそれが再起動されるまでそれらを保持します。

3
user9517