umask是什么?
umask是设置了用户创建文件(目录)时候默认权限的掩码,通常存放在/etc/.profile,$[HOME]/.bash_profile,$[HOME]/.profile中。我们可以在命令行中输入umask查看当前的umask值,在ubuntu一般显示4位,先撇去第一位不讲,讲后面3位。
默认权限怎么起作用?
当umask为022,二进制表示000010010举例
我们知道,linux中,创建文件默认是不能执行的,所以,创建文件时候初始权限的666,二进制表示110110110,但是,真正给予文件默认权限,还得和umask异或下 110110110^000010010=110100100==>十进制表示644,这个为文件的默认权限。目录文件创建后是用执行权限的,所以初始权限为777,和umask异或后的000010010^111111111=111101101==>十进制表示755,这个为目录的默认权限