Linux 命令之 umask
简介
在 linux 系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,那么这个权限是怎么来的呢?这就是 umask 干的事情。
umask 设置了用户创建文件的默认权限,它与 chmod 的效果刚好相反,umask 设置的是权限“补码”,而 chmod 设置的是文件权限码。一般在 /etc/profile
、/etc/bashrc
、$[HOME]/.bash_profile
或 $[HOME]/.profile
中设置 umask 值。
umask 怎么计算
对于文件来说,umask 的最大值是6。因为系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用 chmod 命令增加执行权限。
对于目录来说,则允许设置执行权限,所以 umask 中各个数字最大可以到7。
- 创建文件夹权限值 = 777 - umask 的预设值,如 775=777-002
- 创建文件权限值 = 666 - umask 的预设值,如 664=666-002
umask 怎么修改
临时修改
在命令中直接用 umask 003
,仅限当前系统会话。
1 |
|
永久修改
/etc/profile
与 /etc/bashrc
都有设置 umask 参数默认值的逻辑。
在 /etc/profile
、/etc/bashrc
、$[HOME]/.bash_profile
或 $[HOME]/.profile
都可以修改。
Linux 命令之 umask
https://flepeng.github.io/002-Linux-21-命令-Linux-命令之-umask/