1

PHP 用の共有サーバーがあり、Apache Web サーバーが実行されているユーザー アカウントはnobodyであり、ftp と cpanel のユーザーは異なるもので、jokertecとしましょう。

Webサーバーがフォルダーを作成すると、cpanelを使用してそのフォルダーの名前変更/削除/変更に問題が発生し、cpanelがフォルダーを作成すると、Webサーバーで同じことを行うのに問題が発生します。これは、両方のフォルダーの所有者が異なるためだと思います。

私が聞きたいのは、これはある種のサーバーの設定ミスであり、apache を実行するユーザーと cpanel ユーザー名の両方が同じである必要があるということです。または、ここで何か不足していますか?フォルダを動的に作成するためにphpを実行するユーザーを変更することはできないと思います。

4

2 に答える 2

1

これは一般的な問題であり、いくつかの解決策があります。私たちが採用したのは、ファイルにアクセスする必要がある非 Apache ユーザーのプライマリグループ (この場合は実際には 1 人のユーザー) を Apache と同じグループ (この場合は www-data) にすることです。

これは、Apache とユーザーによって作成されたファイルが両方とも www-data グループで作成され、両方がそれらにアクセスできることを意味します。

Linux では、ファイルが作成されるパーミッションは umask によって制御されます。現在の umask が新しく作成されたファイルへのグループ書き込みを許可しない場合は、それを変更できますhttp://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

ここではセキュリティが常に懸念されますが、ユーザーが自分の chroot FTP アカウントにしかアクセスできない場合 (これが cpanel セットアップのデフォルトだと思います)、心配する必要はありません。彼らが SSH アクセスを持っている場合、すべてのユーザーが他のユーザーの Web ファイルにアクセスできるのではないかと心配になるかもしれません。共有ホスティング環境で Apache を介して実行される一部のコードで通常同じ動作が実現できることを考えると、これはほとんど問題ではありません。

于 2013-10-16T07:09:31.437 に答える
0

これは、suExec などが使用されていない共有サーバーでよくある問題です。私がしたことは、ftp を使用して localhost に接続し、ファイルではないにしても、少なくともディレクトリを作成することでした。必要なディレクトリにのみアクセスできる別の ftp ユーザーを作成できるかもしれません。確かに、パスワードは保存する必要があります。

于 2013-10-16T07:08:58.920 に答える