私はWPが特定のディレクトリやファイルが書き込み可能であるための要件を知っています。また、権限を緩めすぎるとセキュリティホールが開く可能性があることも認識しています。最後に、Linuxシステム上で実行されているユーザー(ここにサーバーを挿入する)が要因になる可能性があることを私は知っています。
セキュリティは別にして、私は自分のブログにテーマとプラグインをダウンロードし、必要に応じてそれらを更新することができるのが好きです。適切な許可は、この設定とは少し矛盾しているようです。
私はあちこちで少し詳細を集めました、しかし、もし私があるならば、私はもっと決定的な答えを見たいです。どのような権限を設定するべきか、サイトをどのユーザーとして実行するべきかなど.
あなたがあなたのサーバーへのFTPアクセスを持っているなら、最も安全なセットアップはあなたのテーマやプラグインディレクトリがあなたのウェブサーバーによって書き込み可能ではなく、代わりにFTPを使ってファイルを更新することです。あなたがプラグインを更新しようとするとき、WordPressはあなたのFTP詳細についてあなたにプロンプトを出します。
FTP方式は直接ファイル書き込みよりずっと遅いですが、不正なスクリプトがあなたのファイルを変更することができないのでそれはずっと安全です。
@ Viper007Bondが述べたように、あなたのコア、プラグイン、そしてテーマを内蔵の更新メカニズムで更新することは、実際のユーザー認証情報を使うことができるので、ファイルパーミッションに関してはかなり安全です。最大限の安全性を確保するために、 SSH2 PHP拡張 がインストールされていることを確認してください。インストールの方法は(可能ならば)ホストごとに異なる可能性があるため、まだインストールされていない場合は、ホスティングサービスに依頼するか、またはGooglingを実行する必要があります。
多くの共有ホスティングサービスは、Apacheの設定でsuexec
を使用するため、Webサービスは実際のユーザーとして実行されます。これにより、ほとんどの権限の問題が解消され、ファイルをサーバー上の他のユーザーから保護できます。ただし、Apacheを別のユーザーとして実行している場合に、ファイルをWordPressにアップロードしたい場合は、アップロードディレクトリでアクセス許可を開く必要があります。
この場合、あなたはおそらくあなたのwp-content/uploads
ディレクトリに0713
パーミッション(AKA rwx--x-wx
)を持たせたいでしょう。これはディレクトリ所有者に完全なパーミッションを与え、彼らのグループはファイルを読むことができますif彼らはフルパスを知っています、そして他のもの(ウェブサーバーを含む)ファイルを書きます。
キャッシングプラグインの中には、書き込み可能なwp-content/cache
ディレクトリ(または類似のもの)が利用可能になることを期待しているものもあります。同じ許可アドバイスがそれにあてはまるでしょう。
最後に、かなりパーマリンクのために、あなたがそれを手動で更新することを計画しない限り、WordPressは.htaccess
ファイルを修正することができる必要があります。この場合、ファイルモードには0646
が必要です。ただし、パーマリンク構造を決定したら、通常はこれを再度変更する必要はありません。そのため、追加の書き込み権限を無効にして0644
に設定することができます。場合によっては、プラグインまたはコアのアップグレードでアクセスが必要になることがあります。そのために一時的に書き込み権限をオンにしてから、もう一度オフにすることができます。
他のすべてのファイルは0644
権限を持つべきです。超常現象の場合、ディレクトリは0711
にする必要がありますが、ディレクトリからファイルのリストを取得する必要があるプラグインの妨げになる可能性があります。その場合、あるいはあなたがそれほど妄想的ではない場合は、0755
を使用してください。
あなたが共有ホスティングをしているなら、これの大部分は主に心配です。 ssh/ftpアクセス権を持つ他のユーザーがいない専用サーバー(VPSを含む)がある場合は、もう少しリラックスできます。すべてをオープンに書き込み可能にする必要があるわけではありませんが、おそらくシステムデフォルトを信頼することができます。これはおそらく0755
ではなくディレクトリに対する0711
権限になります。
それがオプションであれば、そのサイト用にインストールされたSSL証明書を入手し、https
経由であなたのサイトにアクセスできることをテストしたら、その直前にこれらの行をwp-config.php
ファイルに追加してSSLにアクセスさせてください。 「編集を中止する」のコメント
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);