linux 文件的默认权限:umask

linux 文件的默认权限:umask

我们可以通过ls -la命令来查看目录或文件的属性,也可以通过touch命令来新建文件、mkdir命令来新建目录,但是新建的文件和目录的默认权限又是什么呢?这个就与umask有关了。

一、umask是什么?有什么用?我们怎么查看系统umask

umask就是指定“目前用户在新建文件或目录时候的权限默认值”。我们知道umask的值可以推断新建的文件或目录的权限是什么。
查看umask有两种方式:
umask
umask -S

[root@localhost ~]# umask
0022
[root@localhost ~]# umask -S
u=rwx,g=rx,o=rx

umask查看到数字形态的权限设置分数,需要注意的是第一个数字代表的是特殊权限,我们可以暂时不用关注,先看后面三组数字即可。
加入-S这个参数就会以符号类型的方式显示权限。

我们需要注意的是umask分数值指的并不是文件或者目录的权限,而是需要去掉的权限的数值。
当用户创建一个文件时,我们希望这个文件不应该有可执行的权限,因为一般文件通常是用来记录数据的,所以用户创建文件时期望此文件的最大权限为:-rw-rw-rw-,数字表示为666
而新建目录时,我们希望能够进入目录,所以x权限非常重要,所以用户创建目录时期望此目录的最大权限为:drwxrwxrwx,数字表示为777
这时umask数值为 000

但是存在一些常用的场景,如:
创建的文件只希望自己能修改,别人只能查看,也就是新建的文件默认权限为-rw-r–r--。新建的目录只希望自己能够修改而别人只能查看,也就是新建的目录默认权限为
drwxr-xr-x
新建文件最大权限(-rw-rw-rw-)- umask设定去掉的权限(-----w–w-) = -rw-r–r--
新建目录最大权限(drwxrwxrwx)-umask设定去掉的权限(-----w–w-) =drwxr-xr-x
此时umask值就应该设定为022 (r数字表示4,w数字表示2,x数字表示1)

在系统中新建文件testl,新建目录test,验证一下文件的文件权限是正确的

[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1246 Jan  4 12:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Mar  6 16:22 test
-rw-r--r--. 1 root root    0 Mar  6 16:21 testl

二、修改umask值

当我们想要同组的人能够修改文件,而其他人不能修改文件时,我们可以将umask值设定为002

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002

大家可以思考一下umask为003时,新建文件和目录的默认权限是什么?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值