/ varと/ mediaにはどのような許可を与えるべきですか?


21

magentoは、フォルダーに700、ファイルに600の/ var/ mediaを持っていると言っていることを理解していますが、これを行うと、サイトの特定の部分が破損します。ほとんどの人がこれらのフォルダーに使用するアクセス許可を知りたいです。


どこで読んだの?700で?
FlorinelChis

回答:


18

700と600の使用に関する言及は多くありませんが、一般的には良いアドバイスです。残念ながら、すべてのサーバーのセットアップは異なり、利便性(ユーザーによるファイルの更新/編集へのアクセス)と比較検討する必要があります。

基礎となるアプローチは、できる限り少なくし、できる限りロックダウンすることです(700/600はこれに適しています)。その点で、ウィキの「公式」アドバイスはできるだけ多くの状況に適用したいと考えており、すべてのユーザーに読み取り権限を提案しています(つまり、サーバー上の他のサービスが侵害された場合、たとえばapp / etc / localを読み取ることができます)データベース構成のxml)。

あなたの場合、ファイルはwebserver / phpプロセスが実行されているものとは異なるユーザーによって所有されているように見えます。ファイルの所有権をWebサーバーに変更すると、元の問題が解決するはずです。

700/600を使用してファイルをWebサーバーに割り当てると、通常のユーザーはファイルを編集できなくなることに注意してください。

以下は、利便性とロックダウンのための良い妥協案です。すべてのファイルはuser:webservergroupが所有しています

varおよびmedia 770/660
サーバーとユーザーは、varおよびmediaフォルダー(session / cache / images)の読み取りと書き込みを許可されます。

残り750/640
ユーザーはコードを編集/更新できます。
Webサーバーは、実行/表示のためにファイルを読み取ることができます。


2
ほぼ2年後、私は自分の答え以上にこれに同意します。
-philwinkle

私はこれへの応答を決して提供しなかったことに気づきました、そして私が抱えていた問題はファイルがウェブサーバーによって所有されていないということでした。また、私はさまざまなことを読んでいたので、より多くの標準的な実践を得るために許可をクリアするように求めていました。
エグレゴリー

18

一般に、すべてのファイルがなければなりません644し、すべてのフォルダがあるべき755Webサーバーが下で実行され、ユーザーが所有する必要がありますmage実行可能ファイルが与えられるべきである550実行を許可する権限を。

Mageルートから実行する場合、このシェルスクリプトはパッチを適用する必要があります。

#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage

ソース:http : //www.magentocommerce.com/wiki/groups/227/resetting_file_permissions


5

Philのソリューションは優れていますが、少し異なるアプローチを使用します。ファイルの「php / webserverユーザー」所有者を作成することに加えて、追加のグループを作成します。通常、devと呼ばれます。そして、そのグループdevに「phpユーザー」と私と他の開発者を追加します。次に、Mgrentoプロジェクトサブツリー内のすべてのファイルにグループdevが含まれるようにchgrpを実行します。フォルダーに+ sビットを追加して、新しく作成されたサブフォルダーが同じアクセス許可を取得するようにします。

fix_permissions.shスクリプトを使用して公開要点を作成しました。自由に使用してください:)これは、Magentoプロジェクトのサブツリー全体を適切な権限で保持するのに役立ちます。

https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh

元の質問-varとmediaには、「phpユーザー」がこれらのフォルダーを読み書きできる権限が必要です。varの下でキャッシュ、セッションファイルなどを書き込むことができ、製品イメージキャッシュとメディアの下のイメージを書き込むことができる必要があります。Philのアドバイスに従ってください。これらを「phpユーザー」にchownまたはchgrpし、「phpユーザー」にrwパーミッションを付与します。

FPM(CGI)のコンテキストで「phpユーザー」を参照する方が正しいと思います。Webserverユーザーは、PHPを実行しているユーザーとは異なる場合があります。


3
Webサーバーユーザーとphpユーザーに関する用語に関しては、まったく正しいです。素晴らしい点。人は...彼らはPHP FPMか実行していたかどうかを知っているだろう権限を変更する方法を尋ねる場合けれどもが、一つは不思議に持っている
philwinkle

1

/ var-キャッシュ、セッションなどのデータの書き込みに使用するmagento。

/ media -magentoは、製品画像、カテゴリ画像(あらゆる種類の画像)をアップロードするために使用します。

したがって、これらの2つのフォルダーには、読み取りと書き込みのアクセス許可を使用する必要があります。読み取り+実行許可を使用する必要があるその他のファイル。


1

ファイルのアクセス許可は644です。sshを使用して、ルートディレクトリで以下のコードを実行します。見つける。

-type f -exec chmod 644 {} \;

フォルダーのアクセス許可は755です。sshを使用して、ルートディレクトリで以下のコードを実行します。見つける。

-type d -exec chmod 755 {} \;

Varフォルダーのアクセス許可は777です。sshを使用して、ルートディレクトリで以下のコードを実行します。

chmod -R 777 var

静的フォルダーのアクセス許可は777です。sshを使用して、ルートディレクトリで以下のコードを実行します。

chmod -R 777 pub/static

メディアフォルダーのアクセス許可は777です。sshを使用して、ルートディレクトリで以下のコードを実行します。

chmod -R 777 pub/media

2
上記はOPが求めたものではありません。これはMagento 2.xであり、Magento 1.7ではありません
フランクグルート

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.