Linux Bible 10th Edition:umaskで計算された権限は正しいですか?

Linux Bible 10th Edition:umaskで計算された権限は正しいですか?

私は読んだ「Linux聖書10版」第4章:Linux上級ユーザーになる、109ページ。 2番目の段落:

$ umask
0002

先行ゼロが一時的に無視されると、umask 値はファイル 666 またはディレクトリ 777 に対する完全なオープン権限をブロックします。 umask値が002の場合、ディレクトリ権限は755(rwxrwxr-x)になります。同じumaskのため、ファイル権限は644(rw-rw-r--)になります。 (デフォルトでは、通常のファイルに対する実行権限はオフになっています。)

644のようなファイルがumask値002を計算する理由を知りたいです。私が知る限り、666 - 002 = 664です。ところで、括弧内の権限は664のように見えます。

答え1

バグがあります。

これはこう言わなければならない、

先行ゼロが一時的に無視されると、umask 値はファイル 666 またはディレクトリ 777 に対する完全なオープン権限をブロックします。 umask値が002の場合、ディレクトリに対する権限は775(rwxrwxr-x)になります。同じumaskを使用すると、ファイル権限は664(rw-rw-r--)になります。 (デフォルトでは、通常のファイルに対する実行権限はオフになっています。)

指定されたumask.octal 値にはシンボル権限を使用できません。 (これが記号的権限を使用することがほぼ常により良い理由の1つです。chmod意図を確認しやすく、誤字が発生する可能性が低くなります。)

関連情報