テストファイルを作成すると 700 になりますが、umask は 0002 ですか? なぜ 664 にならないのですか?

テストファイルを作成すると 700 になりますが、umask は 0002 ですか? なぜ 664 にならないのですか?

ファイルとディレクトリのデフォルト値 666 と 777 はどこに保存されますか?

umask 0002
touch dummy 
ls -l 

ダミーの権限が、予想される 644 ではなく 700 であることがわかります。何かアイデアはありますか?

答え1

[max@localhost ~]$ umask

デフォルトのumaskが表示されます

0002

/etc/bashrcファイルにデフォルトの権限が保存されます

16 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 17 umask 002
 18 その他
 19 umask 022
 20フィ

通常ユーザー 002 のデフォルトの umask

ルートユーザーのデフォルトのumaskは022です。

ディレクトリの場合、基本権限は0777、ファイルの場合0666です。

つまり、umask値を002に設定すると、基本権限からumaskを減算することになります。

ディレクトリの場合

777-002=775

ファイルの場合

666-002=664

[max@localhost ~]$ mkdir ファイル1

[max@localhost ~]$ ls -ld ファイル1

drwxrwxr-x 2 max max 4096 9月25日 15:37 file1 ------>775

[max@localhost ~]$ タッチファイル2

[max@localhost ~]$ ls -l ファイル2

-rw-rw-r-- 1 最大 最大 0 9月25日 15:40 file2------->664

関連情報