Magentoを安全にデプロイする場合、どの権限スキーマを使用すればよいですか?


7

私はかなり標準的なMagentoセットアップであると感じているものを実行します。

  • rsyncを介してデプロイされます(これはgit pullscp/ SFTPを使用してデプロイすることもできます。これにより、サーバー構成が単純になり、開発者の作業が容易になります。残念ながら、標準のgitは、実行可能フラグの設定のみを許可し、グループ書き込み可能性のような完全なUnix権限は許可しません)
  • Apacheでの実行
  • setgidスティッキービットをサポートするマシンでのみ実行

そして、私たちはかなり標準的な目標を持っています:

  • さまざまな顧客対応環境(開発、製品、CIなど)に継続的にデプロイする
  • 開発ボックスに簡単に導入
  • すべての操作が可能(Magento Connect ManagerまたはMagentoの初期インストールをサポートする必要はありません)Magentoの機能は完全に機能し、すべての主要なプラグインと互換性があります

これらの目標の範囲内で、展開する(および開発ボックスとCIボックスをセットアップする)ファイル許可をどのように設定し、許可を(原則として最低限の特権として)可能な限り制限しますか?

私がすでに見たソースの概要:

  • Apacheユーザーが所有するすべてのファイルと、コアファイル(/mediaおよびを除くすべてのファイル/var)が400に設定された700/600セットアップを推奨するMagento wikiページ
  • グループベースの770/660および750/640セットアップの推奨を結論付けることにより700/600アプローチに言及するMagento StackExchangeの回答
  • 最初に775/664を推奨する別のMagento wikiページ。さらに、必要な権限の説明も含まれていますが、設定を明示的に推奨するものではありません。

回答:


3

私は正しいと感じるソリューションに取り組んでいますが、これは決して信頼できるものではありません。フィードバックや質問をお待ちしています。ここにあります:

セットアップには2人のユーザーが含まれます。

  • グループdeploy内のユーザーdeploy:rsync / SSHを介したデプロイメント中にサーバーに書き込むユーザー。
  • グループapache内のユーザーapache:ApacheがMagentoを実行するユーザー。

一般的な理念は、Magentoディレクトリ全体を次のように変更し、deploy:apache操作上の書き込みアクセスを必要とするフォルダーをグループ書き込み可能にすることです。あなたをそこに連れて行くべきステップバイステップ:

  1. rootたとえば、仮想ホストのHTTPルートを作成、/var/www/htmlおよびとしてはchown deploy:apachesetgidのスティッキービットを設定します:

    mkdir /var/www/html
    chown deploy:apache /var/www/html
    chmod g+s /var/www/html
    
  2. deployユーザーを使用してrsync / SSH経由でMagentoコードをデプロイします。これで、すべてのファイルとフォルダーが所有されdeploy:apacheます。

  3. deployユーザーとして、/varおよび/mediaグループ書き込み可能に設定します。

    chmod g+w /var/www/html/var
    chmod g+w /var/www/html/media
    
  4. umask(0)Magentoコードを削除して、OSのデフォルトを使用する022か、明示的にに設定しumask(022)ます。

  5. 新しい一時ファイルとフォルダはapache:apache755またはによって所有されている必要があります644
  6. 設定は適切であり、今後のデプロイ時に追加のアクションを必要としないはずです。

このアプローチは、グループのアクセス許可を推奨し、それを少し肉付けするMagento wiki記事と一致しています。それはまた、私が見つけたsvenvarkelによるこの要旨が行うことにかなり近いようです。ファイルをApacheユーザーが所有するように設定するアプローチと比較した場合の利点は、Apacheユーザーを使用してデプロイする必要があり、実装に応じて、デプロイメントの書き込み権限を常に切り替える必要があるか、コアを書き込み可能のままにすることです。 Apacheユーザーによる。

私の提案するアプローチについてのコメントや批評を受け取りたいです。


こんにちはスティーブンこれは私がリンクされた回答で説明しようとしたものとかなり一致しています。私が疑問に思う唯一のことは、5。)で755または644が必要な理由です。
クリストフ、フーマンで2014年

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