[linux] 关于linux文件权限

上图中可以看到,我们在一个空的目录about_permission中创建了一个空的目录emptyDir和一个空的文件emptyFile。

drwxr-xr-x 2 rayde rayde 4096 Sep 23 19:54 emptyDir
-rw-r--r-- 1 rayde rayde    0 Sep 23 19:54 emptyFile

“drwxr-xr-x”这个字段描述的是文件和目录权限的编码。该字段的地一个字符代表了该对象的类型:

-

文件

d

目录

l

链接

c

字符型设备

b

块设备

n

网络设备

该字段的后9个字符分为3组3字符,每组都定义了3种访问权限:

r

代表对象可读

w

代表对象可写

x

代表对象可执行

这3组权限对应着对象的3个安全级别:对象的属主,对象的属组,系统的其他用户。

上面创建的目录emptyDir,可以看到它的第一个字段是“drwxr-xr-x”,“d”表示它是一个目录。第一组权限“rwx”表示,对于该用户而言,可以读取,写入以及执行这个文件;第二组权限“r-x”表示,该用户组的成员可以读取、执行该文件,但是没有写入权限;第三组权限“r-x”表示,其他组的用户可以读取、执行该文件,同样没有写入权限。

那么,这些文件权限是从何而来呢?

先了解一下八进制模式的安全性设置吧:

在“rwx”权限中,会先获取这三个权限的值,将其转化为3为二进制,用一个八进制值进行表示,所有可能的组合如下:

权限二进制值八进制值描述
---0000没有任何权限
--x0011只有执行权限
-w-0102只有写入权限
-wx0113有写入和执行权限
r--1004只有读取权限
r-x1015有读取和执行权限
rw-1106有读取和写入权限
rwx1117有读取、写入和执行权限

umask命令用来设置所创建文件和目录的默认权限。对文件来说,全权限是666(所有的用户都有读和写的权限);而对目录来说,全权限是777(所有用户都有读、写、执行的权限)。

umask值实际上是一个掩码,如何由umask值确定文件的权限?

文件的全权限666减去umask值0022(022),结果是644。

目录的全权限777减去umask值0022(022),结果是755。

再来看我们一开始创建的空目录和文件:

drwxr-xr-x 2 rayde rayde 4096 Sep 23 19:54 emptyDir

111 101 101,对应的八进制值是755。
-rw-r--r-- 1 rayde rayde    0 Sep 23 19:54 emptyFile

110 100 100,对应的八进制值是644。

在man手册中,是这样描述umask的:

意味着它后面可以跟参数。我们试着改变一下umask值。

可以看到,umask值已经成功的被设置为0024。那么,随之改变的文件权限应该是642(O)和753(O)。

接着又创建了一个空目录emptyDir1和一个文件emptyFile1。它们的文件权限如下:

drwxr-x-wx 2 rayde rayde 4096 Sep 23 23:42 emptyDir1

111 101 011,对应的八进制值是753。777(O) - 024(O) = 753(O)
-rw-r---w- 1 rayde rayde    0 Sep 23 23:42 emptyFile1

110 100 010,对应的八进制值是642。666(O) - 024(O) = 642(O)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值