ディレクトリが「rx」でファイルが「---」になるようにumaskを設定する方法

ディレクトリが「rx」でファイルが「---」になるようにumaskを設定する方法

r-x新しく作成されたディレクトリのデフォルト権限を設定したいと思います。他の人そして新しく作成されたファイル(ディレクトリではなくファイル)には---

umaskを2に設定すると、ディレクトリ権限は取得されますr-xが、ファイル権限は取得されませんr--

私が望むことを達成する方法を見つけることができませんumask

結局私が欲しいのは他の人ディレクトリを参照できますが、ファイルの内容を読み取ることはできません。とても合理的なニーズだと思いますが、結局そんな設定はないようです。

答え1

コマンドを使用してシェルプロンプトからディレクトリを作成する場合は、次のことがmkdirできます。

umask 7
mkdir() (umask 2 && command mkdir "$@")

シェルのカスタムファイル(~/.zshrcfor zsh~/.bashrcfor bash...)にあります。

つまり、umaskを7に設定しますが、umask 2でmkdir実数mkdir(同じ引数()を使用)で関数を呼び出すようにオーバーライドします。"$@"(...)サブシェルが作成されるため、そのumask 2関数内でのみ適用されます。)

関連情報