Linux:权限详解

在我们使用Linux创建文件时,我们可以看到文件信息的最前面有一行由字母组成的一串信息,它表达出来的意思就是我们的文件权限的展示。

什么是权限呢?

权限是用来约束人或者对象的,使用者只能在规定的权限下进行操作,而超出权限范围的事情则无法做到。文件权限=人+文件属性。

人分为三种:拥有者(owner),所属组(grouper),其他人(other)

文件属性 

 而我们今天详细要说的就是文件属性了,从上面的图可以看出,Linux的文件类型是由十个字母组成的,每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。

利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为准。第一个字段由10个字符组成,如下: 

drwxrwxr-x

第一位表示文件类型,-表示文件,d表示目录

第二到第四位表示文件所有者的权限,u权限

第五到第七位表示文件所有者所属组成员的权限,g权限

第八到第十位表示所有者所属组之外的用户的权限,o权限

文件类型


由于Linux和Windows的文件的后缀差别很大,所以我们在Linux中创建文件时,给文件名称后面加上后缀,仅仅是为了给用户做一个提示,表示它的文件类型,在Linux看来这也只是一个名称。

我们只需要通过查看第一列的第一个字符来区分文件类型

Linux的文件类型:

- :表示普通文件(源代码,库文件,可执行程序,文档压缩包等等)

d :目录文件

c :字符设备文件(比如:键盘,显示器。。。)

b :块设备(磁盘)

l  :链接文件(快捷方式)

p :管道文件

s :socket文件

 修改权限


如果我们想要获得或减少拥有的权限呢?

1.设置文件属性  chmod

2.设置文件所属角色  chown/chgrp


chmod (a/u/g/o) (+/-) (r/w/x) 文件名

通过chmod u-rwx a的指令,我们的a文件中拥有者的权限就都没有了。 


用数字修改权限 

 拥有者      所属组      other

 r  w  x        r  w   x      r   -  x

1  1   1       1  1   1      1  0 1

从上面的信息我们可以了解到,当我们拥有的权限在数字中表示1,没有则表示0,再通过八的二进制的方案转换,所以上面的权限数字表示法为775。

 然后我们便可以通过数字法来进行权限修改了。


为什么我们创建的目录或者普通文件,默认权限是我们所看到的样子呢?

 在Linux规定中

目录的起始权限是777

普通文件的起始权限是666

在起始权限之下,系统还有一个叫umask权限掩码

 第一个0我们不用管,我们只关心后面三个数字

 umask -- 系统默认会配置好umask权限掩码:凡是在umask中出现的权限,都必须在起始权限中去掉。002转化成二进制就是000 000 010,那么放在777去掉other权限就变成了775,666就变成了664,所以我们看到的默认权限就是现在这个样子。

我们也可以修改umask的后面三个数字来修改新创建时的默认文件权限。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值