Apacheのhtdocs
ディレクトリの権限を特定のグループに、特定の読み取り/書き込み/実行で変更する必要があります。
ディレクトリには775の権限が必要であり、ファイルには664の権限が必要です。
htdocs
を再帰的に実行すると、すべてのファイルとディレクトリが664に変更されます。
手動でディレクトリを変更したくありません。
ファイルまたはディレクトリのみを変更する方法はありますか?
検索の-type
オプションは、アクションをファイルとディレクトリに制限します。使用 -o
オプションを使用すると、さまざまなタイプの代替アクションを指定できるため、タイプごとに個別に実行するのではなく、find
を1回実行するだけで済みます。
find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +
chmod
は実際にこれを行うことができます。 X
シンボリック権限は、「意味があれば実行する」ことを意味します。これは一般に、ファイルではなくディレクトリに対して意味します。だから、あなたは使うことができます:
chmod -R u=rwX,go=rX /path/to/htdocs
唯一の潜在的な問題は、プレーンファイルのいずれかがすでに実行セットを持っている場合、chmod
はそれが意図的であると想定し、それを保持することです。
find
を使用してディレクトリを検索し、それらにchmodを適用します。
find -type d | xargs chmod 775
ファイルにはタイプf
を使用します。
find -type f | xargs chmod 775
試してください:
find htdocs -type d -exec chmod 775 {} +
私はGordonが提供するソリューションに似たものを使用します。
chmod -R ug=rw,o=r,a+X /path/to/folder/
一部のファイルに実行権限が以前に設定されていたとしても、フォルダには常に775、ファイルには664を設定する必要があります。
上記のGordonの答えは正しいですが、ディレクトリツリーへのアクセスをロックダウンしようとすると、所有者が実行できるスクリプトと、大文字のXを付与された人が実行できるスクリプトが残ります。
使用する
find <path> -type d -exec chmod 775 {} +
または
find <path> -type d -exec chmod 755 {} +
より安全です。