Linux下的权限(角色,文件权限)

目录

1.什么是权限

2.文件类型及权限

①Linux文件类型:

②剩余9个字符对应的含义:

③文件权限值的表示方法(进制法)

3.如何操作权限

3.1改变权限的命令操作 chmod #change mode的缩写

3.2改变文件的角色

4.关于目录/普通文件的起始权限的问题

4.1 Linux规定,目录/普通文件的起始权限分别是777,666

4.2更改默认权限掩码

5.目录的rwx权限

1.什么是权限

文件权限等于=角色+文件属性

其中,角色分为三类:

1.拥有者(owner) 2.所属组(grouper)3.其他人

以下①是拥有者 ②是所属组

所属组,是相当于在一个小团体里,这些所属组里边的人都可以访问,就相当于学习的小组

2.文件类型及权限

Linux下的文件类型与Windows的文件类型的表达方式有很大的不同

Windows下的后缀和Linux下的文件后缀有很大的区别

Linux下的文件后缀实际上并没有作用,只是为了方便用户进行,这里特指是Linux操作系统

但是一些编译工具对文件后缀有要求,比如gcc,必须要求是规定的例如(.c)后缀

区分

例如Linux下有一个可执行文件,test.exe,运行这个exe会输出"hello Linux!"如果把这个文件名改为test或者改为叫xyz,那么运行这个文件照样管用,照样跟test.exe的效果一样,实际上是一样的

在Linux下通过显示众多属性列中的第一个字符区分文件类型,如下图

①Linux文件类型:

首字符开头

- 普通文件(文本文件,代码源文件,可执行文件,压缩包...等等)

d 目录文件

c 字符设备文件(键盘、鼠标)

b 块设备(磁盘)

l 链接文件(快捷方式文件,比如Window下的桌面的图标)

p 管道文件

②剩余9个字符对应的含义:

如下图,以三个三个为一组,分别是拥有者(owner)、所属组(group)、其他人(other)的权限,对应权限没有的用“-”表示," r "表示拥有读的权限, " w "表示可以写,“x” 表示可执行

③文件权限值的表示方法(进制法)

在改变权限的时候,因为对应的位置不是存在就是不存在,因此可以用二进制转八进制码来表示,

例如 拥有者 所属组 other

1 1 1 1 1 1 1 0 1 ->对应了1可以读,1可以写,1可以执行,0则代表不可以,对应的八进制为775,则

eg:chmod 775 文件名 #同时改变了 拥有者权限,所属组,other的权限

3.如何操作权限

3.1改变权限的命令操作 chmod #change mode的缩写

① u代表用户本身的权限,user

② g代表所属组的权限 , group

③ o代表其他人的权限, other

④ a表示所有的人,包含,u,g,o

用例 eg:

chmod u-r 文件名            //改变拥有者权限,减去read (-r),减去了读的权限

chmod u+x 文件名            //改变拥有者权限,增加了可执行的权限+x

chmod g-rwx 文件名         //改变所属组的额权限,减去读(r)、写(w)的权限

chmod o+rwx 文件名         //改变其他人的权限,加上读(r), 写(w), 可执行(x)

chmod u+rw,g-wx 文件名     //可组合式,改变拥有者和所属组的

注意:组合式的必须按照顺序先后,比如ugo,uo,go,ug等顺序,必须保证先后顺序

3.2改变文件的角色

①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者

②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组

③改变所属组 chgrp 文件 ,改变所属组

3.3改变文件的角色

①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者

②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组

③改变所属组 chgrp 文件 ,改变所属组

4.关于目录/普通文件的起始权限的问题

4.1 Linux规定,目录/普通文件的起始权限分别是777,666

但是实际上与规定的有所不同,创建一个新的目录还有普通文本则是:

目录为 755,普通文件为644,这是因为在不同的机器或者系统上,会有一个默认权限掩码,对于所有的目录以及文件,都会在规定的起始权限下按位与(取反权限掩码)

最终权限=规定起始权限&(~权限掩码)

查看当前机器权限掩码的方式 umask(显示的为八进制序列)

那么可以理解为对于umask的话,因为要取反,就是不取反前,要去掉的对应的二进制位为1,要保留权限的位为0

则777&(~022)(八进制)==》755 ,666&(~022)==》644,则默认权限为规定的权限减去权限掩码后的权限

4.2更改默认权限掩码

umask xxxx(一个八进制序列)例如:0444,4的二进制位100,

那么代表在规定的777,666权限下,去掉每一个角色的读权限,创建新的目录以及普通文件,默认权限为333,222了

5.目录的rwx权限

对于目录的权限,目录的

-r 权限 #表示,去掉读的权限,就是不可以读取该目录的列表

-w权限 #表示去掉写的权限,就是不能创建新的文件

-x权限 #表示去掉执行的权限,就是你不能进入/cd该目录

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值