私の Web サーバーでは、ファイルのアクセス許可がいたるところにあるため、すべてを元の状態に「リセット」したいと考えています。ユーザーが入ってきて、私の Web サーバーから何かを削除できるようにしたくありません! PHPページなどを閲覧できるようにしたいだけです。
どの chmod を使用すればよいですか?
私の Web サーバーでは、ファイルのアクセス許可がいたるところにあるため、すべてを元の状態に「リセット」したいと考えています。ユーザーが入ってきて、私の Web サーバーから何かを削除できるようにしたくありません! PHPページなどを閲覧できるようにしたいだけです。
どの chmod を使用すればよいですか?
まとめてみましたのでまとめます
説明:
ls -l
および他のすべてのユーザー (パブリック) は、ファイルを読み取ることはできますが、ファイルに対して実行または書き込みを行うことはできません (許可番号 4)。使用する権限を調べるために使用できるインタラクティブなオンライン計算機もあります: https://chmod-calculator.com/
それらは可能な限り制限する必要がありますが、それ以上ではありません。
通常0644
は、所有者に読み取りと書き込みの権限を与えますが、それ以外のユーザーには読み取りのみを許可するのが適切な選択です。0755
ディレクトリ用。ただし、特定のシステム設定に依存する場合があります。
すべてをリセットしたい場合は、このコマンドを実行して結果を整理してください。通常、ファイルには 644、ディレクトリには 711 が適しています。ディレクトリ リストを許可する場合は、755 を使用します。
$ find /var/www/html \( -type f -execdir chmod 644 {} \; \) \
-o \( -type d -execdir chmod 711 {} \; \)
より侵略的でないものが必要な場合は、グループと「その他」の書き込みビットを削除してください。
$ chmod -R go-w /var/www/html
644
ファイルと755
ディレクトリの標準だと思います。
Web サーバーが Web ページのみを提供し、(匿名 FTP などによる) アクセスを許可しない場合、不適切なファイル許可により、ユーザーはファイルを削除できません。
他の人が他の手段 (SSH など) を介してサーバーにアクセスできる場合は、書き込みビットが自分以外のユーザーに設定されていないことを確認してください。実行する:
find . -exec chmod go-w {} \;
このコマンドは、コマンドが実行されるすべてのファイルとディレクトリのアクセス許可を制限します。
どちらのアプローチを使用する場合でも、Web アプリケーションが特定のパーミッションを持つファイルまたはディレクトリに依存している可能性がある場合は、徹底的なテストを行ってください。あまりにも寛容なパーミッションを許可することはおそらく悪い設計ですが、これは時々発生するため、アプリケーションが壊れる可能性があります。