私のWebサーバーでは、ファイルのアクセス許可がいたるところにあり、すべてを元の状態に「リセット」したいと思っています。ユーザーが自分のWebサーバーにアクセスして削除できるようにしたくない!私は彼らにphpページなどを見られるようにしたいだけです。
どのchmodを使用すればよいですか?
それらは可能な限り制限的である必要がありますが、それ以上ではありません。
通常0644
は適切な選択です。これにより、所有者に読み取りおよび書き込み権限が付与されますが、それ以外のユーザーは読み取りのみを行うことができます。 0755
はディレクトリです。ただし、特定のシステム設定によって異なる場合があります。
ここに私が集めた要約があります
説明:
ls -l
を使用してグループを表示)および他のすべての人(一般)はファイルを読み取ることができますが、実行または書き込みはできません(アクセス許可)番号4)。使用する権限を把握するために使用できるインタラクティブなオンライン計算機もあります。 https://chmod-calculator.com/
すべてをリセットしたい場合は、このコマンドを実行して結果を整理します。通常、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
はディレクトリです。
(たとえば)匿名FTPを介したアクセスを許可せずに、ウェブサーバーがウェブページのみを提供している場合、不正なファイル権限により、ユーザーはファイルを削除できません。
他のユーザーが他の手段(SSHなど)を介してサーバーにアクセスできる場合は、自分以外のユーザーに対して書き込みビットが設定されていないことを確認してください。実行:
find . -exec chmod go-w {} \;
このコマンドは、それが実行されるすべてのファイルとディレクトリの権限を制限します。
どちらの方法を使用する場合でも、Webアプリケーションが特定の権限を持つファイルまたはディレクトリに依存している可能性がある場合は、十分なテストを行ってください。許容度の高いアクセス許可を許可することはおそらく悪い設計ですが、これはときどき発生するため、アプリケーションを破壊する可能性があります。