Linux权限

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

超级用户(root):可以在linux系统下做任何事,不受限制,只有1个。

普通用户:在linux系统下做有限的事,有N个。

超级用户的提示符'#';普通用户的提示符'$'

Linux权限_第1张图片
Linux权限_第2张图片

切换用户的命令:su

切换root时可以直接输入su,再按密码就可以切换。切换普通用户时,su XXX(普通用户的名称)

Linux权限_第3张图片

权限的概念

限制人的,访问的对象天然没有这种“属性”;权限 = 人(用户) + 事物(文件)属性 (rwx)

  1. 文件访问者的分类(人)

文件和文件目录的所有者:u---User(中国平民 法律问题) 文件和文件目录的所有者所在的组的用户:g---Group 其它用户:o---Others (外国人)

Linux权限_第4张图片

2. 文件类型和访问权限(事物属性)

2.1 文件类型

如上图所示,第一位:文件类型。

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

在Linux操作系统下,不用文件后缀区分文件类型,而是用 文件属性中第一列的第一个字符来区分文件类型(但是在Linux操作系统里面的软件需要看文件后缀,例如gcc 软件需要将文件后缀改为.c)

2.2 访问权限

  1. 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

  1. 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

  1. 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.“—”表示不具有该项权限

如上图,每三个字符对应着不同用户的权限,例如画横线前三位rwx,表示目录dir的所有者(user)具有可读可写可执行权限;紧接着中间三位r-x,表示该目录的所属组(group)具有可读不可写可执行权限;最后的后三位r-x,代表的其他用户(other)具有可读不可写可执行权限

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

3.1 字符表示

Linux表示

说明

Linux表示

说明

r--

只读

-w-

只可写

--x

仅可执行

rw-

可读可写

-wx

可写和可执行

r-x

可读可执行

rwx

可读可写可执行

---

无权限

3.2 八进制表示

权限符号(读写执行)

八进制

二进制

r

4

100

w

2

010

x

1

001

rw

6

110

rx

5

101

wx

3

011

rwx

7

111

---

0

000

4. 文件访问权限的相关设置方法

chmod

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

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

只有文件的拥有者和root才可以修改文件的权限

例如:

chomod u+w test.c #表示给当前目录下的test.c文件的所有者添加可写权限
chomod g-x test.c #表示给当前目录下的test.c文件的所属组删除可执行权限
chmod 664 /home/abc.txt  # 第一个'6'表示:rw-,以此类推
chmod 640 /home/abc.txt

chown

功能:修改文件的所有者

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

例如:

chown user1 test.c #将test.c文件的所有者改为user1

chgrp

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

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

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

例如:

chgrp group1 file1  #将file1文件的所属组改为group1
chgrp -R group1 file2 

umask

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

新建文件夹默认权限=0666 新建目录默认权限=0777 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & (~umask)

为什么 我们创建的普通文件(不包括可执行),为什么默认权限是从664开始的,我i什么目录的默认权限是775开始的

默认权限: 你看到的

起始权限: 系统设定的 普通文件起始权限:666开始的(没有x的),目录文件的起始权限是:777(rwx)

因为,系统为了更好的控制文件权限,系统会有默认的权限掩码的概念! umask

(假如文件掩码为002,则对应的八进制为 000 000 010)

权限掩码:在起始权限中,去掉在umask中出现的权限,不能影响其他任何权限!

最终权限 = 起始权限 & (~umask),如下图。

Linux权限_第5张图片
# umask 755
# umask //查看
# umask 044//设置

file

功能说明:辨识文件类型。 格式:file [选项] 文件或目录...

5. 目录权限

如果目录没有(r/w/x)权限:

  1. 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

  1. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

  1. 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中

6. 粘滞位

背景:在使用Linux的时候,未来可能会有一些共享目录,被所有普通用户共享,用来保存普通用户产生的临时数据

准备:共享文件通常都是由root提供的

文件被所有的人共享的时候,受权限约束,但是拦不住别人删我的文件!!

为什么拦不住别人删?因为,能够才特定目录下,创建或者删除文件由该目录的w权限决定!

为了让大家共享文件,且不让其他人随便删除别人的文件,所以要添加 粘滞位

Linux权限_第6张图片

当一个目录被设置为“粘滞位”(chmod +t),则该目录下的文件只能由:

  1. 超级管理员删除

  1. 该目录的所有者删除

  1. 该文件的所有者删除

你可能感兴趣的:(linux)