umask 指令 – 修改新档案及目录默认权限


Linux 建立新档案或目录时, 该档案及目录会有一个默认权限, 要修改这个默认权限, 可以用 umask 指令。

umask 的用法与 chmod 相反, chmod 是在 “000” 上面 “增加” 权限, 而 umask 则是在 “666” 基础上 “减少” 档案权限; 及在 “777” 基础上 “减少” 目录权限。这个讲法可能有点混乱, 看看实际例子更易明白, 例如:

# umask 022

上面用 umask 设定默认权限为 022, 即默认档案权限设定为 644, 因为 [666 – 022 = 644]; 及默认目录权限设定为 755, 因为 [777 – 022 = 755].

RHEL, CentOS 及 Fedora 默认是 022, 可能直接用 umask 查看默认值:

# umask
0022

要临时修改默认权限, 可以这样:

# umask 0066

这时新档案的默认权限会是 600, 以及新目录的默认权限是 711, 但当登出系统时便会重新使用默认值。 要让设定值永久生效可以开启 /etc/bashrc, 找到一行 umask 022, 将里面的 022 改为想要的设定值即可。

如果只要对个别用户设定, 可以开启该用户目录下的 .bashrc 档案, 例如:

vi ~/.bashrc

然后加入这行:

Leave a Reply