すべての実行可能ファイルをすべてのユーザーが実行可能に設定しますが、実行不可能なファイルは実行不可のままにしておきます?

すべての実行可能ファイルをすべてのユーザーが実行可能に設定しますが、実行不可能なファイルは実行不可のままにしておきます?

ファイルをコピーした後、ルートが所有するディレクトリがあります。すべての exe ファイルは、ルートとしてのみ実行できます。しかし、誰もが実行できるようにしたいです。確かに、chmod -R u=rwX,g=rX,o=rX新しいファイルを追加した後はいつでも使用できます。しかし、これは非常に面倒です。ディレクトリで設定して、すべてのユーザーが exe を自動的に実行できるようにすることはできますか?

答え1

umask 0022コピーを作成する前に を使用すると、すべての新しいファイル-rw-r--r--にデフォルトで権限が付与されますが、ファイルを実行可能にするには、直接 chmod +x を呼び出します。

chmod -R a+rX directory手動で実行するには、省略コマンド: を使用できます。

すべてのファイル権限を自動的に設定するには、次のように inotifywait を使用します。

inotifywait -qm <directory> -e create -e moved_to -e modify \
 | while read a b c; do chmod a+rX "${a}${c}"; done

関連情報