linux下的权限掩码,权限掩码
linux下的权限掩码,权限掩码
⽂件rwx权限
在了解权限掩码之前先了解下权限的基本知识
察字组词r(Read,读取):对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览⽬录的权限。
w(Write,写⼊):对⽂件⽽⾔,具有新增,修改,删除⽂件内容的权限;对⽬录来说,具有新建,删除,修改,移动⽬录内⽂件的权限。
x(eXecute,执⾏):对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录了来说该⽤户具有进⼊⽬录的权限。
r、w、x分别是4、2、1。
祝愿逝者在天堂的语句7代表所有权限
6代表读写
5代表读执⾏
4代表只读
3代表写执⾏
2代表只写
两会开几天1代表只执⾏
幼儿园小班教师个人总结下图中第⼀个⽂件权限有⼀个d,d表⽰当前是⼀个⽂件夹关于清明节古诗大全
权限掩码
我们都知道在linux下创建⼀个⽂件或者⽬录之后是可以通过chmod等命令进⾏权限设置,来达到给当前⽤户、⽤户组⽤户以及其他⽤户分配不同的访问权限。那么,我们新创建的⽬录和⽂件本⾝也是有它的默认权限的,这个默认权限是什么,就是由权限掩码umask所确定的。它的功能可以说与chmod刚好相反的,代表默认拿⾛的也就是说不要的权限。
计算⽅式
如果⽤户创建的是⽬录,则默认所有权限都开放,为777,默认为:drwxrwxrwx
如果创建的是⽂件,默认没有x权限,那么就只有r、w两项,最⼤值为666,默认为:-rw-rw-rw-
那么之前所说的拿⾛的权限就是这⾥这个默认值要减掉的权限,r、w、x分别是4、2、1,要拿掉读权限就输⼊4,拿掉写权限就输⼊2,以此类推。
新建⽂件:666-022=644;
新建⽬录:777-022=755.
对于⽬录,直接使⽤777-umask即可,就得到了最终结果。
对于⽂件,先使⽤666-umask。
如果对应位上为偶数:最终权限就是这个偶数值。
如果上⾯的对应为上有奇数,就对应位+1。
上⾯的这个⽅法计算是⾮常⽅便的, 为何得到奇数要+1呢。
⽂件的最⼤权限是666,都是偶数,你得到奇数,说明你的umask有奇数啊,读为4,写为2,都是偶数,说明你有执⾏权限的。
就按照上⾯的umask=023为例,在计算其他⽤户权限的时候6-3=3 ,6是读写,3是写和执⾏,
其实应该是读写权限减去写权限的得到读权限的,相当于我们多减去了⼀个执⾏权限。所以结果加1。
linux查看权限掩码命令
umask 数字形态的权限设置分数
umask -S 符号类型的⽅式来显⽰出权限
[root@root ~]# umask
0022
[root@root ~]# umask -S
u=rwx,g=rx,o=rx
[root@root ~]#
0022
第⼀个0表⽰是⽂件或⽬录的特殊权限
第⼆个0表⽰⽂件或⽬录的拥有者有所有的rwx权限
第三个2表⽰⽂件或⽬录的所属组被拿⾛了w权限,及所属组的权限是r-x
第四个2表⽰⽂件或⽬录的其他⼈被拿⾛了w权限,及其他⼈的权限是r-x
新建⽬录的默认权限是:rwxr-xr-x
新建⽂件的默认权限是:rw-r–r--(Linux中⽂件默认都会拿⾛x权限)
临时修改默认权限
[root@root ~]# umask 0000
[root@root ~]# umask
0000
永久修改默认权限
编辑⽂件/etc/bashrc
在当前的shell环境中⽣效
1、如果⽤su - user1 来切换⽤户,表⽰换了shell环境,该配置⽂件不会⽣效
2、如果⽤su user1 来切换⽤户,表⽰没有换shell环境,该配置⽂件会⽣效-代表切换⽤户会把环境变量中的配置⽂件全替换成新⽤户
编辑⽂件/etc/profile
可以在整个系统中⽣效
[root@root ~]# vim /etc/bashrc
[root@root ~]# vim /etc/profile
两个⽂件的内容是⼀样的
搜索umask,到如下代码,不算第⼀位的特殊权限
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 //表⽰uid⼤于等于199的默认umask值,表⽰普通⽤户
else
热爱的反义词
umask 022 //表⽰uid⼩于199的默认umask值,表⽰root fi
修改后需要重新读取⼀下/etc/bashrc或/etc/profile
[root@root ~]# source /etc/profile
[root@root ~]# source /etc/bashrc

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。