我创建测试文件时得到 700,但 umask 是 0002?为什么不是 664?

我创建测试文件时得到 700,但 umask 是 0002?为什么不是 664?

文件和目录的默认值 666 和 777 存储在哪里?

umask 0002
touch dummy 
ls -l 

告诉我 dummy 的权限是 700,而不是预期的 644。有什么想法吗?

答案1

[max@localhost ~]$ umask

这将显示默认的 umask

0002

文件中/etc/bashrc存储了默认权限

16 如果 [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; 然后
 17 umask 002
 十八 其他
 19 umask 022
 二十 FI

普通用户的默认 umask 002

root 用户的默认 umask 是 022

对于目录,基本权限为 0777,对于文件,基本权限为 0666

这意味着如果你将 umask 值设置为 002,那么你就从基本权限中减去 umask

对于目录

777-002=775

对于文件

666-002=664

[max@localhost ~]$ mkdir file1

[max@localhost ~]$ ls -ld file1

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

[max@localhost ~]$ touch file2

[max@localhost ~]$ ls -l file2

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

相关内容