【Linux】权限理解(超详细)
目录
用户
角色切换
创建和删除普通用户
权限管理
文件访问者分类(人)
文件类型和访问权限(事物属性)编辑
文件访问权限的相关设置方法
chmod
chown
chgrp
问题解答
粘滞位
用户
Linux下有两种用户:超级用户(root) 和普通用户;
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
超级用户:
普通用户:
角色切换
超级用户切换普通用户:
su + 普通用户 如:su sxh
也可以用:exit (这里只要退出自己曾经的切换,就可以回到当前账户)
普通用户切换超级用户:
su -
创建和删除普通用户
创建普通用户
useradd+用户名(创建)
passwd+用户名(设置密码)
删除普通用户
userdel -r +用户名
例如:userdel -r shh
查看家目录下的用户(两种方法)
1、ls /home
2、cd /home
ls
权限管理
权限=人+事物属性(rwx)
r:读 w:写 x:可执行
文件访问者分类(人)
简单来讲就是:拥有者,所属组,other
文件和文件目录的所有者:u---User(拥有者)
文件和文件目录的所有者所在的组的用户:g---Group(所属组)
其它用户:o---Others (其他)
文件类型和访问权限(事物属性)
文件类型:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
我们前面提到的:权限=人+事物属性(rwx)
现在可以换一种表达方式:权限=ugoa+rwxt -file
基本权限:
读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“—”表示不具有该项权限
文件访问权限的相关设置方法
chmod
(1)chmod 角色+/- 权限 文件
如:chmod o+w file.txt
chmod o-w file.txt
(2)chmod 8进制 file
如 chmod 777 file.txt
chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
问题解答
对于新建的文件和目录我们会发现:目录的默认权限是775,文件的默认权限的664,为什么?
起始时,目录默认权限的777,文件默认权限的666,由于存在权限掩码,使得最终权限和起始不同;
最终权限=起始权限&(~权限掩码)
权限掩码的查看:umask
修改权限掩码:umask 0000
我们看一下 下面的代码,思考一下:
对于root拥有者的文件,在我们当前用户下可以查看,不能修改,但是可以删除,为什么?
因为这个文件所处的文件夹的权限本身就属于我们,有w权限,即可以删除;
粘滞位
这里就要引出一个概念:粘滞位 (chmod o+t file)
当一个目录被设置为粘滞位,则该目录只能由:
1、超级管理员删除
2、该目录的所有者删除
3、该文件夹的所有者删除