「umask」変数に「7」より大きい数字を含めることはできますか?

「umask」変数に「7」より大きい数字を含めることはできますか?

私が知っている限り、私たちは「umask」を使ってさまざまなセキュリティレベルを設定します。

マスク値 セキュリティレベル 有効なアクセス許可(ディレクトリ)
022 龍仁 755話
026 簡単 751話
027 簡単 750
077 深刻な 700

umaskを028「7」より大きい数値を含むように別の値に設定できますか?

答え1

シェルのumaskコマンドは、許可マスクをデフォルトの8進数として扱います。 10進数(10桁)や16進数(16進数)とは異なり、8進数には0から7までの8桁の数字のみが含まれます。

したがって、いいえ、umask 028シェルでは使用できません。意味がありません。もちろん、umaskはちょうどビットバンドル、数字であり、10進数または16進数で表すこともできます。たとえば、Cコードでは022(octal)は(decimal)と同じであるため、18umaskを設定するシステムコールは022次のように書くことができますumask(18)

しかし、3つの許可ビット()があり、rwx3つのビットが8つの異なる値を表すことができることを考慮すると、8進数は許可ビットを表す非常に便利な方法です。

また、ある単語で説明するのではなく、他のユーザーに付与された権限に対するumask値の意味を考慮すると便利です。

関連情報