web-dev-qa-db-ja.com

どうすれば私の.htaccessファイルをwp-adminから書き込み可能にすることができますか?

私のISPは私のWordpressブログのホスティングを変更しました、そして、すべてが機能しなくなりました。 DNSの問題がありましたが、彼らはそれを解決しました、それからホームページ以外のすべてのページは404エラーを返しました。

Wp-adminでパーマリンクページ(/wp-admin/options-permalinks.php)を確認したところ、次のように表示されました。

あなたの.htaccessファイルが書き込み可能であれば、私たちはこれを自動的に行うことができます、しかしそれはそうあなたの.htaccessファイルで持つべきでないmod_rewrite規則ではありません。フィールド内をクリックし、Ctrlキーを押しながらaキーを押してすべてを選択します。

表示されているものを(私のISPのファイルマネージャを介して)追加することで問題は解決しましたが、私は疑問に思いました。

私が欲しいのは.htaccessファイルがwp-adminに書き込み可能であることです。

私は、ファイルがすべての人に対して書き込み可能ではないべきではないことを知っています。

ただし、ファイルに対する権限は次のとおりです。

rw-r--r--

では、ファイルをwp-adminで書き込み可能にするには、どのパーミッションを設定する必要がありますか。それとも設定する必要があるのは、サーバー上の他の何らかの許可ですか。

私はISPのファイルマネージャインターフェースを通して手動で編集を行うことができるので、まるでファイルを更新することができないようなものではありません。これをやり続けなければならないとすれば、痛みになる可能性があります。

2
ChrisF

ショートバージョン:あなたはできません。

ロングバージョン:技術的にはこれを達成する方法がありますが、①root権限を持っていない共有サーバー上のユーザーとしてあなたにはおそらく利用できない、②あったとしても、彼らはあなたが本当に持っている "gotchas"を持っています対処したくない。

まず第一に、あなたがroot権限を持つシステム管理者でないなら、必要な権限を設定する希望があるかどうかは疑わしいです。

  • UNIXパーミッションビットは、あなた、あなたのグループのメンバー、そして誰もがファイルを読み、書きそして実行できるかどうかを制御します。そのオプションのセットと、あなたとWebサーバーが同じグループに属していない可能性があるという事実を考えると、あなたとWebサーバーのユーザーがファイルを書き込めるような値を設定するのにこれらの権限を使う方法はありません。できません。定義上、あなたは "world"権限を変更しなければならないでしょう、そして...あなたは数学をすることができます。

    自分のユーザーアカウントとWebサーバーが実際には同じユーザーグループで実行されている可能性が高いので、Webサービスプロバイダのセキュリティに真剣に疑問を呈し始めるべきです。

    一部のホストで採用されている少し狂気の少ない手法では、特定のファイルやフォルダーをWebサーバーが所有するように変換するための特別なインターフェースを使用できます。これはセキュリティ上の利便性に対する選択であり、人々にとっては簡単なことですが、文字列が添付されています。いずれにしても、所有権を自分自身に戻すことなしに手動でファイルを編集することはできません。

  • Webサーバソフトウェアに.htaccessファイルを編集させる方法が1つ以上与えられていても、あなたははるかnotにそれらを処理することになります。共有ホスティング環境では、あなた以外の他の人々もWebサーバーユーザーとしてコードを実行していることに気づかなければなりません。あなたのWordpressのインストールがあなたの.htaccessファイルを変更することができるならば、何が次の人のwordpressがあなたのものを悪意を持って変更するのを阻止するのですか?理論的にはPHPのopen_base_dirシッティングはあなたのDOCUMENT_ROOTの中で物を読み書きすることを刑務所に入れるでしょう、しかしPHPモジュールがこれを強制することについて合理的に良い間、他のCGIシステムを持っていることこれは、同じサーバー上の他のユーザーが、Webサーバーが所有するように変換したものを台無しにすることを可能にする、正しく設定されていない、または設定ミスのサーバー設定をまっすぐにしていないためです。

これを可能にする唯一の技術的な方法は、あなたのサイトにサービスを提供するときに実際にはyouとして実行される(実際には他のリスクをもたらします)またはファイルシステムACLを使うことです。あなたのISPはそれらを正しく設定するように装備されています。

要約すると、wp-adminは.htaccessに書き込むことができないため、実際にはセキュリティ面で有利です。とにかく、これはまれな問題です。通常、Wordpressやサーバーソフトウェアのバージョンが変わったとき(たとえば、Apache 2.2から2.4への切り替えは、ネットワーク全体でたくさんの.htaccessファイルを更新する必要があることを意味します)。 )これは、あなたがあなたのサイトを更新するたびに変わるべきものではありません。あなたがアーキテクチャ上の変更を行い、古いURLから新しいURLへの移行を容易にするのに必要な場合のみです。

0
Caleb

コンピュータファイルシステムでは、さまざまなファイルやディレクトリに、だれが、何を読み、書き、変更し、それらにアクセスできるかを指定する権限があります。 WordPressが特定の機能を有効にするためにあなたのwp-contentディレクトリのファイルに書き込むためにアクセスする必要があるかもしれないので、これは重要です。

しかし、それは.htaccessファイルを世界に書き込み不可能にしておくほうがよいです。 .htaccessは分散設定ファイルで、Apacheがディレクトリごとに設定変更を処理する方法です。

http://codex.wordpress.org/htaccess

.htaccessファイルを書き込み可能なものにしておくと、それ自体の影響もあります。主にセキュリティ上の問題。悪意のあるクラッカーやエンティティが不正なファイルをアップロードしたり、現在のファイルを変更してコードを実行することができれば、フォルダやファイルに対して777のアクセス許可を使用した結果として発生する可能性のある最悪の問題データベース情報とパスワードを含めるなど、ブログ。

http://codex.wordpress.org/Changing_File_Permissions

デフォルトの権限(umask 022)

644 -rw-r--r--  /home/user/wp-config.php
644 -rw-r--r--  /home/user/cgi-bin/.htaccess

セキュリティで保護されたアクセス許可

600 -rw-------  /home/user/wp-config.php
604 -rw----r--  /home/user/cgi-bin/.htaccess

.htaccess権限

644> 604 - .htaccessファイルのグループ所有者に読み取り権限を許可するビットが削除されました。 .htaccessファイルには通常644が必要であり、推奨されています。

0
Abhineet Verma