パーミッションの一括設定
ディレクトリをたどれるようにするには x のパーミッションが必要となる。
一方、ファイルに実行権限を与えるのに x のパーミッションが必要となる。
このため、ディレクトリをたどるためと安易に 777 とか 555 とかを与えると大変なことになる。
必ず以下のようにして、ファイルとディレクトリを分離して chmod を掛ける必要がある。
残念ながら chmod には適切なファイルとディレクトリの分離機能が存在していないため、 find コマンドを組み合わせる必要がある。
$ find 対象ディレクトリ -type f -exec chmod 666 {} +
$ find 対象ディレクトリ -type d -exec chmod 777 {} +
参考
POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!