改变“umask”
要确定所需的值,只需计算出我们想要获得的文件模式的等效数字,然后从 777 中减去它。
例如,默认情况下要获得模式 751,计算 777-751=026 这是我们给“umask”的值
% umask 026
执行此命令后,所有以后创建的文件都将自动获得此保护。
另一个计算“umask”值的方法是记住“umask”中的数字2关闭写权限,而数字7关闭读、写和执行权限。
用户文件创建模式掩码 (umask) 是一个内置的 shell 命令,可用于为新创建的文件的读/写/执行权限设置默认值。
它应该在“.cshrc”或者“.profile”shell 启动文件中执行。
它被赋予一个三位数的八进制值,表示可以分配给文件的权限的二进制倒数。
这个三位数的数字参数表示在创建文件时“禁止”或者“屏蔽”的访问。
创建文件时,其权限设置为创建程序要求的权限减去“umask”设置禁止的权限。
因此,它想要的值是所需数字文件模式的八进制补码。
数字给出如下所示的权限:
十进制 | 二进制 | 权限 |
---|---|---|
0 | 000 | rwx |
1 | 001 | rw- |
2 | 010 | r-x |
3 | 011 | r- |
4 | 100 | -wx |
5 | 101 | -w- |
6 | 110 | -x |
7 | 111 | (none) |
欢迎 on
it
road
常见的“unmask”值
默认情况下,大多数 UNIX 版本在创建新文件时将八进制模式指定为 666(任何用户都可以读取或者写入文件)。
同样,新程序的创建模式为 777(任何用户都可以读取、写入或者执行程序)。
最常见的 umask 值是 022. 027 和 077.
umask 值 022 允许所有者读取和写入所有新创建的文件,但其他人只能读取它们:
- 0666:默认文件创建模式。
- 022:合成模式(resultant mode)。
- 0644:合成模式(resultant mode)。
umask 值为 077 仅允许文件所有者读取所有新创建的文件:
- 0666:默认文件创建模式。
- 077:umask。
- 0600:合成模式(resultant mode)。
在许多 UNIX 系统上,默认的 umask 是 022.
这是从 init 进程继承的,因为所有进程都是 init 的后代。
常用 umask 设置表
umask | User Access | Group Access | Other |
---|---|---|---|
0000 | all | all | all |
0002 | all | all | read, execute |
0007 | all | all | none |
0022 | all | read, execute | read, execute |
0027 | all | read, execute | none |
0077 | all | none | none |
日期:2020-09-17 00:14:14 来源:oir作者:oir