非常に大きくて深いディレクトリがあります。そのすべてを読み取り専用にしたいと思います。問題は、ファイル ( が取得されます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
chmod
X
ディレクトリのみに設定するmode を受け入れますx
。a=X
書き込み権限を削除することもできます。
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 {} \; \)