
質問はベストプラクティスに関するものであり、正確な問題ではありません。
静的 Web サイトのファイルとディレクトリの正しい所有権と権限は何ですか? ファイルには権限 640、ディレクトリには権限 750 を使用しますroot:<server-group>
。グループ権限によりサーバーはすべてを読み取ることができますが、通常のユーザーは sudo を明示的に使用しない限り、誤ってまたは意図的にファイルを変更することはできません。
それとも、私が知らないもっと良い方法があるのでしょうか? 私のアプローチは少し複雑すぎるようです。
答え1
ユーザーが責任を負っているファイルを変更できないようにするために、root は必要ありません。 ファイルを同期するサービス ユーザーなど、権限のないユーザーに所有権を与えることで、同じことを実現できます。
理想的には、Web サーバーを実行するユーザーや特定の人物ではなく、ファイル転送を行う自動化ユーザーだけです。コンテンツを担当する人がファイルをストレージにステージングし、ファイル転送を展開する準備ができたら、ファイルを所定の場所にコピーします。運用中の Web サーバーに触れる必要はなく、特別な権限も必要ありません。
所有者はルートで、ファイルの再構築や変更が必要な場合、管理者または自動スクリプトがルートになる必要がある場合があります。これは非常に高い権限であり、セキュリティ対策を削除したり、ホストを破壊したりする可能性があります。
確かに、マウント ポイントやソフトウェア パッケージは root が所有するのが理にかなっているため、システムを変更するには権限が必要です。たとえば、Web サイトのコンテンツが /srv/www/example.net/ にある場合、/srv/ と /srv/www/ は root が所有し、/srv/www/example.net/ などの Web サイトは権限のないユーザーが所有することができます。