読み取り専用権限を再帰的に設定するにはどうすればよいですか?

読み取り専用権限を再帰的に設定するにはどうすればよいですか?

非常に大きくて深いディレクトリがあります。そのすべてを読み取り専用にしたいと思います。問題は、ファイル ( が取得されますa=r) とディレクトリ ( が取得されますa=rx) を区別する必要があることです。

どうやってやるの?

答え1

これを見つけました:chmod a=rXこれで問題は解決しました。 男性から: (X) execute/search only if the file is a directory or already has execute permission for some user

答え2

  1. chmodXディレクトリのみに設定するmode を受け入れますxa=X

  2. 書き込み権限を削除することもできます。a-w

答え3

上記の提案は私には効果がなく、すべてのフォルダが読み取り専用に設定されていました。
同僚が私にこれを教えてくれましたが、これは効果がありました:

find . -type f -exec chmod a-w {} \;

答え4

find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)

関連情報