少しの間、あなたの要件について考えてみてください。ディレクトリ ツリーに実行可能ファイル (スクリプトまたはバイナリ) がありますか?その場合、実行権限を (自分自身からも) 削除しますか、それとも実行権限をそのままにしておきますか?実行権限を変更しない場合は、 chmod o-w
を使用する必要があります 削除 (減算) w o からの儀式許可 これらのフィールドのみ。
また、Anthon が指摘するように、find
他の回答で指定されたコマンドは、chmod
を実行します 見つけたすべてのユーザーが書き込み可能なファイルごとに 1 回プログラムします。と言う方が少し効率的です
find top-level_directory -perm -2 -type f -exec chmod o-w {} +
これは chmod
を実行します 一度に多くのファイルを処理し、exec の数を最小限に抑えます。
追記2
の先頭のゼロは必要ありません .
find /dir/stuct/path -perm -0002 -type f -exec chmod 664 {} \;
「{}」は、find によって見つかったファイルを表します。 「\;」実行する必要があるコマンドを終了します。