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、该文件夹的所有者删除