umaskはいつも私を倒します。論理的には、chmodスタイルのパラメータの代わりに「setmask」を好みます。なぜこれが起こるのか知っている人がいますか?
答え1
私は間違っているかもしれませんが、私はこれが2つの考えから来たと信じています。
当初、UNIXの開発権限が完全に公開されました。セキュリティ時代以前は、特定の人だけがファイルを読み書き/実行可能にするという考えは不要でした。したがって、この観点の自然な進歩は、権限の概念を取り、それを制限することです。権限のゼロ値を取得して追加する代わりに。
もう一つの理由は、ほとんどの場合、特定の拒否が指定された許可よりも正確な結果を生成するためです。状況によって要件も異なります。たとえば、デフォルトのディレクトリ権限は次のとおりです。
755
デフォルトのファイル権限は次のとおりです。644
特別なら許可する実行後にディレクトリとファイルに変換する必要があります。次に、実行が有効になっていないディレクトリまたはアクティブなファイルのいずれかを選択する必要があります。しかし、ディレクトリ必要ジョブを有効にします。したがって、追加の権限を具体的に追加するのではなく、削除することを選択できます。
umaskを使用すると、0000
通常のファイルに対する実行権限がありません。逆にすると、そのようにデザインするのがより難しくなります。
答え2
umask
creat(2) および open(2) によって生成されたファイルに対する権限は指定されません。強制的に適用する必要があるビットのみを指定します。オフ、セキュリティを無視するプログラムが脆弱性を生成するのを防ぎます。
一般的なITルールは、数字で示されている「デフォルト」および「変更しない」オプションを表します0
。ここで umask = 0 は creat(2) 以降のスキーマがまったく変更されてはならず、プログラムが creat(name, モデル)。 umaskにビットがセットされている場合明らか生成されたファイルの対応する許可ビット(つまり、プログラムロジックを一部変更する)なので、このような否定的なロジックが出てくるのです。
答え3
setmask
UNOS(1980年から)で使用できるコマンドです。
このコマンドは長い間umask
同様の機能を提供してきました。
呼ぶ:
umask -S
反転マスクを chmod に似たシンボルパターンとしてインポートします。
umask u=rwx,g=rx,o=rx
に該当するものを入手してくださいuask 022
。
だからあなたの願いが行われました。