Linux_权限理解(详细PLUS)

1.用户

Linux下有两种用户:超级用户(root)和普通用户;

超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
超级用户的命令提示符是"#",普通用户的命令提示符是"$"

超级用户:

普通用户:

2.用户切换

用户间切换:

su + 用户名 //可用exit回退到原用户

1)普通用户切换超级用户(需要输入root用户密码)

2)超级用户切换到普通用户(不需要输入普通用户密码)

普通用户切换超级用户:

su - //也可用exit回退到原用户

3.创建和删除普通用户

创建普通用户

useradd+用户名(创建)
passwd+用户名(设置密码)

删除普通用户

userdel -r +用户名

查看家目录下的用户

ls /home

4.权限管理

什么是权限

权限=用户+事物属性(rwx)
r:可读  w:可写  x:可执行

文件访问者类型(用户):

文件和文件目录的所有者:u---User(拥有者)
文件和文件目录的所有者所在的组的用户:g---Group(所属组)
其它用户:o---Others (其他)

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

文件类型:

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

基本权限:

读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“-”表示不具有该项权限

5.文件权限的设置方法

1)chmod

功能:修改用户对某一文件的权限

(1)chmod 角色 +/- 权限 文件

(2)chmod 8进制(u) 8进制(g) 8进制(o) file

rwx:111(二进制) -->7(八进制)
rw-:110(二进制) -->6(八进制)
r--:100(二进制) -->4(八进制)
---:000(二进制) -->0(八进制)

2)chown

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

3)chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名

6.权限掩码

对于新建的文件和目录我们会发现:目录的默认权限是775,文件的默认权限的664,为什么呢?

起始时,目录默认权限的777,文件默认权限的666,由于存在权限掩码,使得最终权限和起始不同

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

权限掩码的查看:umask

修改权限掩码为0000:umask 0000

此时我们再次创建新的目录和文件

通过上图我们可以看到新目录和文件的权限发生了改变

7.粘滞位

思考一下接下来的代码

我们可以看到,这个文件的拥有者和所属组均是root,而用户qz属于others,只有读权限,我们只能读取文件而不能修改文件内容,但是我们却可以将该文件给删掉,这是为什么呢?

这是因为这个文件所处的文件夹的权限本身就属于我们,有w权限,即可以删除

这里就要引出一个概念:粘滞位 (chmod o+t file)

当一个目录被设置为粘滞位,则该目录只能由

1、超级管理员删除
2、该目录的所有者删除
3、该文件夹的所有者删除