乐趣区

linux中的umask控制文件或目录的默认权限

微信公众号:51 码农网
专业编程问答社区
www.51manong.com

umask 命令可以控制着创建文件或目录时指定给文件或目录的默认权限。它使用八进制表示法表示从文件模式属性中删除一个位掩码。使用不带任何参数的 umask 命令,查看当前掩码值。一般都是 0002 或 0022。

[root@ky35z 51mn]# umask
0022

linux 系统新建文件默认没有执行权限,其最大权限为 rw-rw-rw-(666),新建目录的最大权限为 rwx-rwx-rwx(777)。而默认的权限与 umask 命令有关。要计算 umask 0022 将如何影响新创建的文件和目录,
请使用:第一个 0 表示的是特殊权限位,

对 umask 来说,有效的设定值只有后三位数文件:666 – 022 = 644。所有者可以读取和修改文件。组和其他人只能读取文件。

目录:777 – 022 = 755。所有者可以进入目录并列出读取,修改,创建或删除目录中的文件。组和其他人可以进入目录并列出并读取文件。

例如你现在 umask 是 0002。我们知道原始文件默认最大权限是 666,也即是 rw-/rw-/rw-。将掩码转为二进制 000/000/010, 观察掩码中出现 1 的地方,将会发现 1 的位置对应的属性删除。掩码中二进制数值中每个出现 1 的位置,其对应的属性都被取消。

退出移动版