Linux 文件权限

    和周围人交流发现,文件权限这一块似乎是很多人弄得不明不白的地方,就是知道这么个东西,但是看也看不太懂,知道得也不清楚,毕竟也可能是有些同学还没学到需要清楚了解文件权限的地方,没有怎么去看过或处理过与文件权限相关的信息,于是就是仅仅知道而已,但是文件权限其实是相当重要的知识,尤其是学到网络这一块你就会知道。下面开始进入正题

一、查看文件权限

    首先,在终端你输入这个命令

ls -l

    得到较为详细的文件信息


    就以我的为例子来进行讲解。我们得到了八列信息,我们的重点是文件权限的相关问题,因此对于与文件权限无关的列不做说明。

    第一列:文件类型及文件权限(该列由11个字符组成,具体如下)

    

第一个字符表示文件类型(如上面第二列第一个的第一个字符 - ),其具体为:
 
d:表示是一个目录。
 
-:表示这是一个普通的文件。
 
l: 表示这是一个符号链接文件,实际上它指向另一个文件。
 
b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
 
s、p:这些文件关系到系统的数据结构和管道,通常很少见到。
 
文件权限:从第二个字符到最后共9(第2-10个字符)个字符,三个字符为一段:如rw-r--r--
 
第11个字符:. 与selinux相关,有这个点表示selinux开启,没有这个点表示selinux关闭(不做了解)

    那么这第二到第十个字符这九个权限位是代表了什么意思呢?

    回顾一下Linux中用户的概念与文件权限的种类

    用户

    Linux有两种用户:普通用户、超级(root)用户

    超级用户:可以在linux系统下做任何事情,不受限制 

    普通用户:在linux下做有限的事情。 

    超级用户的在终端的命令提示符是“#”,普通⽤用户的命令提⽰示符是“$”。

    文件权限的基本种类(还有一些基本不用的权限不做说明)

  1. 读(r):Read,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 ,注意,对于目录而言,浏览的意思就说,r权限仅仅表示你有权限知道这个目录会有哪些内容,而不代表你就能cd到该目录进行工作,这是x权限才有的
  2. 写(w):Write,对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限       
  3. 执行(x):execute,对文件而言,具有执行文件的权限;对目录来说,具有进入(cd)目录的权限,事实上,对于目录来说,如果只有x权限,没有r权限的话,ls指令都执行不了,因为若没r权限,这个目录里的内容就不能读

     组合起来如下


    

    再说明几个概念

    属主:该文件创建者或被指定的文件所属者

    属组:文件的所属组(在该组内的非属主用户对该文件拥有该属组权限)

    其他:其他用户,既不属于属主又不在属组的用户

    

    这九位分别每三个对应属主,属组,其他

    把上面的组合起来就有例如

rwx --- ---: 文件所有者对文件具有读取、写入和执行的权限。
rwx r-- r--: 文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。
rw- rw- r-x: 文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
rwx --x --x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。
rwx --- ---: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

    这样的组合同时也可以通过对应二进制位(即该权限存在为1,不存在为0)表示转换成八进制后,通过八进制数对应起来

    

二、文件权限的相关设置命令

   1)chgmod

    功能:设置文件的访问权限

    使用格式:chgmod [参数] 权限 文件名

    常用选项:-R  递归改变目录文件的权限

    其使用格式有能分为两种

    1.用户表示符 +/=/- 权限字符

    

例如:

创建一个123.txt文件,查看其文件权限,chmod命令来增加其拥有者的可执行权限,

之后再查看其文件权限


会发现其拥有者就有了可执行权限

    2.三位8进制数

    例如

    

    ps:特别需要注意的是,只有文件的拥有者和root才能改变文件的权限

    2)chown

    功能:改变文件的拥有者

    格式:chown [参数] 用户名 文件名

    常用选项:-R  递归改变文件或目录文件的拥有者

    例如:

    ps:ls -l的第三、四列分别为文件拥有者与所属组

    3)chgrp

    功能:改变文件或目录的所属组

    格式:chgrp [参数] 用户组名 文件名

    常用选项:-R  递归改变文件或目录的所属组

    例如:

    

    4)umask

    功能:查看或修改文件掩码

    掩码有啥用?别弄复杂了,简单的说就是这样

    新建文件的默认权限 = 0666 - 掩码权限值

    新建文件夹的默认权限 = 0777 - 掩码权限值

    格式: umask   掩码权限值

    将用户现有的文件权限减去掩码权限值后,即可得到新创建文件或文件夹的默认权限。超级用户的默认掩码权限值为0022,普通用户的默认掩码权限值为0002

    例如:


    建议还是不要自己胡改掩码,以免造成不必要的麻烦(比如有人改了后,每次创建文件发现都要手动加可执行,半天又想不起来自己改了掩码 = =),像我在测试后就立马改回来了。

三、粘滞位

    chmod +t 文件夹名

    这个其实也很简单,不用弄复杂了,什么是粘滞位?

    算是对于目录所设置的一种特殊权限

    被设置了粘滞位的目录,只能被超级用户、该目录或该文件所有者删除

    注意:粘滞位只能对目录设置,对文件设置是无效的


  • 18
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值