linux下的权限掩码,权限掩码

文件rwx权限

在了解权限掩码之前先了解下权限的基本知识

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。

x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

r、w、x分别是4、2、1。

7代表所有权限

6代表读写

5代表读执行

4代表只读

3代表写执行

2代表只写

1代表只执行

下图中第一个文件权限有一个d,d表示当前是一个文件夹

b1e1980866d6

权限掩码

我们都知道在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值