【Linux】linux权限

linux权限

  • 一,Linux权限的概念
  • 二,Linux权限管理
    • 1.文件访问者分类
    • 2.文件类型和访问权限
    • 3.文件权限值的表示方法
    • 4.文件访问权限的设置
  • 三,目录的权限
  • 四,粘滞位
  • 五,权限掩码
    • 1.什么是权限掩码
    • 2.权限掩码的计算

一,Linux权限的概念

在Linux下,有两种用户,超级用户(root)和普通用户。

root用户可以在Linux下做如何事情,不受限制
普通用户在做有些操作下受权限访问限制

二,Linux权限管理

1.文件访问者分类

我们在Linux下查看所有文件时,都会有如下这两列:
【Linux】linux权限_第1张图片
其中所圈的第一列表示文件的所有者u(user), 表示这个文件或者目录由谁创建,第二列表示文件所属组g(group),表示所属于的组别。

2.文件类型和访问权限

查看文件时还可以看到以下属性:
【Linux】linux权限_第2张图片
上面用红色框起来的表示文件的类型,Linux下常见文件类型有:

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

第二列用蓝色框起来的表示文件的访问权限,其中三个为一组,共三组,分别表示文件user,所属组group,other对其的访问权限。

权限分为三种:
r表示可读
w表示可写
x表示可执行

以此为例说说文件的权限在这里插入图片描述
上面三种文件都是普通文件,test1的前三个(rwx)表示文件拥有者对该文件的所有权限,该拥有者可以对此文件执行读写执行权限。test1的中间三个rwx表示该文件的所属组对此有读写执行权限,最后三个rwx表示other对此有读写执行权限。

3.文件权限值的表示方法

文件权限可以用上述字符来表示,r–表示只读,–x表示只执行,-w-表示只写,以此类推。
除了字符表示外,还可以用8进制来表示,有该权限用1表示,无则为0。

总结如下表:
【Linux】linux权限_第3张图片

4.文件访问权限的设置

如果要对文件的权限做修改,则常用chomd来设置文件访问权限。

格式:chmod [参数] 权限 文件名

下面是参数说明:
【Linux】linux权限_第4张图片
例子:
给test2的拥有者加上执行权限
【Linux】linux权限_第5张图片
(1)可以使用chmod 用户标识符 +/- 权限来修改权限
在这里插入图片描述
修改后:
【Linux】linux权限_第6张图片
(2)也可以通过设置三位8进制数字来设置
在这里插入图片描述
【Linux】linux权限_第7张图片
这里的三位8进制分别表示文件拥有者,所属组,other对该文件的权限。

三,目录的权限

和普通文件的读写执行权限不同。

r --> 表示是否可以查看该目录下的文件
w -->表示是否可以在该目录下创建和删除文件
x -->表示是否可以进入该目录

【Linux】linux权限_第8张图片
以此为例,有三个目录,表示拥有者和所属组可以进入目录,并且可以查看目录下的文件,也可以在目录下创建和删除文件。

四,粘滞位

假设有一个场景,有多个用户共享一个目录,大家具有写的权限,都可以在该目录下创建和删除文件(目录)。那么,就会出现 ‘张三’ 可以删除 ‘李四’ 创建的文件。
Linux为了解决上述的问题,引入了粘滞位
接着上述场景,如果给这个共享目录加上t, 即chmod +t 目录,则 ‘张三’ 就不能再删除 ‘李四’ 创建的文件。

当一个目录被设置位粘滞位后,该目录下的文件只能被:
1, 超级管理员删除
2,该目录的所有者删除
3,该文件的所有者删除

例如:
【Linux】linux权限_第9张图片
在这里插入图片描述
加上t之后:
【Linux】linux权限_第10张图片

五,权限掩码

1.什么是权限掩码

当我们在Linux下创建文件和目录时,都会有一个默认的权限
这里创建一个文件:
在这里插入图片描述
【Linux】linux权限_第11张图片
可以看到,该文件的默认权限是 rw-rw-rw- ,即默认是664

这是因为,文件的权限是由:
1.起始权限
2.权限掩码

共同决定的。
其中:文件的起始权限是 666,目录的起始权限是 777

那么,什么是权限掩码呢?
可以通过 umask 来查看默认的权限掩码:
在这里插入图片描述
注 :这里的第一个0表示8进制。
也就是说,文件(目录)的最终权限是由起始权限和权限掩码通过一定的计算方法得来的。

2.权限掩码的计算

实际上,文件(目录)的权限是由:起始权限&(~权限掩码)计算得来的。
这里举个例子:
【Linux】linux权限_第12张图片
当然,权限掩码也可以自己设置,通过
umask + 8进制权限
来设置。
在这里插入图片描述
【Linux】linux权限_第13张图片
现在test1.txt的文件权限就是666了。

你可能感兴趣的:(Linux,linux,运维,服务器)