umask是控制文件创建模式的命令,用于定义文件创建的初始化权限位。 uamsk会影响当前shell的运行环境,因此符合POSIX标准,通常内置于shell中
显示当前umask值
umask
000
计算umask值
创建新文件时,通常具有默认权限位。 这是因为系统根据设置umask值来设置新文件的权限。 可能需要更改此值,也可能需要假设系统的umask值为027重新计算umask值
第0位即user的所有权7-0 7
第二名是集团所有权7-2 5
第7位即other的所有权7-7 0
十进制的含义
0 000没有权限
1仅执行001
2 010只留言
3 011写入、执行
4 100只读
5 101读取、执行
6 110读、写
7 111读写、执行
从表中可以看出,创建新文件时的默认设定权限是最高权限(777 )减去umak值(027 ) 750,对应于第二个表的是user读写、执行,group读取、读取
另一种计算方法
例如umask=022; 如果默认最高权限为666,则文件的初始权限为rw-rw-rw-负----w----w-rw----r----的文件初始权限,umask值为“放弃”
Thank SmartA
设定umask值
umask 0000 #进制
Touch测试
stat-c % a测试
666
命令方法仅在当前会话中有效,并且可以在配置文件设置中永久启用~/.bashrc、/etc/bashrc
Ubuntu
vim /etc/login.defs