【Linux】权限

🎆个人主页:夜晚中的人海

今日语录:每一个不曾起舞的日子,都是对生命的辜负。

🚀一、权限的概念

1、用户分类

Linux下的用户分为两类:一是普通用户,其次是超级用户(root)

普通用户:在Linux下受权限的约束

超级用户(root):在Linux下可以做任何事情,不受权限约束

2、语法及功能介绍

语法:su 用户名

功能:切换用户

也可以直接su不加用户名,切换成超级用户

🏠二、权限管理

1、文件访问者分类

⽂件和文件目录的所拥有者:u---User

⽂件和⽂件目录的所有者所在的组的用户:g---group

其他用户:o -- other

2、文件类型以及访问权限

文件类型:

d:目录

-:普通文件

l:链接文件

p:管道文件

b:块设备(如硬盘)

访问权限:

读(r):对文件而言,读取文件内容;对目录而言,能够浏览该目录信息的权限

写(w):对文件而言,可以修改文件里面的内容;对目录而言,可以删除或移动目录里面的文件

可执行(x):对文件而言,表示该文件有执行的权限;对目录而言,具有进入目录的权限

-:表示不具有该权限

3、文件权限值表示方法

两种 表示方式,分别是字符表示和8进制数值表示

字符方式如上述所说用r/w/x来表示文件或目录所拥有的权限

8进制数表示,通常"666"表示普通文件该有的权限,用字符表示即"-rw-rw-rw-";"777"通常表示目录所拥有的权限

第一个字符表示文件类型,其后面每3为代表一个8进制位

🎄三、文件访问权限相关命令

1、chmod

语法: chmod 参数 权限 文件名

功能: 设置文件访问权限

注:只有文件拥有者以及超级用户root才能更改文件权限

chmod命令权限值的格式:

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有组

o:其他用户

a:所有用户

例:

2、chown

语法: chown参数 用户名 文件名

功能: 修改文件拥有者

例:

3、chgrp

语法: chgrp 参数 用户组名 文件名

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

例:

4、umask

功能:

1.查看或修改文件掩码

2.新建文件目录权限为:0666

3.新建目录权限为:0777

4.实际上我们所创建的目录以及文件往往不是上面的值,原因就是受umask的影响。假设默认权限是m,则实际上创建出来的文件权限是:m & ~m

🏖️四、目录权限

可执行权限(x):如果目录没有可执行权限,则无法cd到到录中

可读权限(r):如果目录没有可读权限,则⽆法用ls等命令查看目录中的文件内容

可写权限(w):如果目录没有可写权限,则⽆法在目录中创建⽂件,也⽆法在目录中删除⽂件

⭐五、粘滞位

1、作用

场景:多个用户需要共享目录,但需防止互相删除文件

普通共享目录(权限 777)存在漏洞:只要用户对目录有w 写权限,就能删掉目录里任意文件,哪怕文件不是他的。而粘滞位 就是防删除保护

2、如何设置

语法:chmod o+t 用户名

系统默认自带粘滞位目录:

/tmp、/var/tmp:全局临时目录,所有程序、用户都能读写,防止误删他人临时文件

目录设置粘滞位后,只有三类人能删除 / 重命名目录内文件:

1.文件本身的所有者

2.该共享目录的所有者

2.root 超级管理员

注:粘滞位只对目录有效,对文件无效