umask的含义及设置
转自:https://www.cnblogs.com/ttop/p/4085414.html
1.umask掩码
umask是chmod配套的,总共为4位(gid/uid, 属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)
默认情况下的umask值是022(可以用umask命令查看),
- 此时你建立的文件默认权限是644(6-0,6-2,6-2),
- 建立的目录的默认权限是755(7-0,7-2,7-2)
1.1 规则:
- 若使用者建立为『文件』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分。即 –rw-rw-rw-
- 若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分。 即drwxrwxrwx
2.修改默认umask
在/etc/profile或者~/.profile或~/.bash_profile添加一行命令:
umask ???
也可以在.bashrc中添加,.profile中登录时自动执行.bashrc文件。
3.创建文件默认可执行?
例子:
[root@vbird test]# umask 003 [root@vbird test]# touch test3 [root@vbird test]# mkdir test4 [root@vbird test]# ll -rw-rw-r– 1 root root 0 Oct 22 00:03 test3 drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/
针对文件test3,如果使用十进制来算666-003=663,那么针对其他用户是3,即-wx?但实际上并不是这样,而是-r-,所以此时不能通过十进制的方法来算。
正确算法:
(-rw-rw-rw-) – (——–wx)=-rw-rw-r–
使用rwx来计算。
那么设置新创建的文件为可执行,只能通过chmod命令了,默认情况下是不可以的。
chmod +x file.sh