ファイルに影響を与えずにディレクトリにchmodを再帰的に適用する方法は?

ファイルに影響を与えずにディレクトリにchmodを再帰的に適用する方法は?

chmod -Rディレクトリに適用すると、その中のすべてのもの(ファイルとディレクトリ)の権限が変更されます。xファイルを変更せずにディレクトリに実行/検索()権限を追加するにはどうすればよいですか?

答え1

あなたはそれを使用することができます探す

find ./ -type d -execdir chmod 750 {} +

ここで、750は適用したいパターン、「./」は再帰的に検索するディレクトリです。

編集する:@Gillesに感謝します。検索(1)セキュリティとパフォーマンスを向上させるために修正しました。

答え2

この特別な場合は、特定のユーザー(たとえば)に対して実行可能ビットがすでに設定されているディレクトリまたはファイルにビットを追加するX代わりに使用できます。xchmod -R +X my_dir

通常、ファイルに影響を与えずにすべてのディレクトリを読み取ることができるようにしたい場合は、findwith-type dまたはzsh(またはbash 4 with shopt -s globstar)globを使用している場合(フラグを**/どちらにも渡さない)を使用できます。-Rchmod

関連情報