Linux中具体用户的分类
1、超级用户root(只有一个)
普通用户(可以有多个):权限受管控
root、普通用户都要设置密码
2、切换用户(普通用户->root用户) su -
普通用户的命令提示符是$
root用户命令提示符是#
3、切换用户之后,再怎么回来呢
(1)exit
(2)热键ctrl+d
3、root用户可以任意切换到普通用户,不需要密码
Linux中文件相关的权限概念
1、第一列的第一个字符:文件类型
Linux系统不是以文件名后缀,区分文件类型的,而是通过ll显示的第一个字符区分文件类型的
(1)-(普通文件):文本、源代码、可执行程序、第三方动静态库等
(2)d(目录文件)
(3)l(链接文件):快捷方式等
(4)p(管道文件):mkfifo pipe
(5)b(块设备文件):磁盘
(6)c(字符设备文件):终端(物理上:显示器;抽象出来的:xshell)
2、什么是权限?
(1)约束人的(对人进行分类)
(2)属于对应的事物具有特定的属性
Linux上,对文件的权限:首先区分谁对这个文件可以访问,谁对这个文件不能访问;该文件应该具备某种属性:r,w,x执行
权限 = 人 + 事物属性
3、Linux下,人的分类
(1)文件的拥有者owner
(2)文件的所属组grouper(例如:公司里的组)
(3)文件的其他用户other
Linux下的人要么是普通用户要么的root,每个人都可能是文件的拥有者或所属组或其他用户
4、Linux下文件的权限属性
(1)r
(2)w
(3)x(可执行)
5、文件的权限修改(修改文件属性+修改人)
一、修改角色对于文件的权限
(1)chmod 角色名(u:owner o:other g:所属组)-/+ 权限 文件名 去掉权限 - 添加权限 +
root不受这些权限的约束(即使root在other组,也可也rwx)
(2)八进制方案:chmod 八进制 文件名
理解上是二进制去理解
二、修改人的角色
chown
chgrp
把test.c的拥有者给hui用户,但这里不成功?给别人东西是需要经过别人同意的
1、想要进入一个目录,需要什么权限? x
2、如果目录没有r权限:允许进入,允许允许在该目录下创建(写入)文件,不允许查看
3、如果目录没有w权限:允许进入,允许在该目录下查看文件列表,但不允许创建文件
4、如果同时没有rw权限:允许进入,但不允许创建和查看目录下的文件列表(注意:不是文件内容!! 文件的内容是否允许查看,由文件自己的权限决定)
三、权限掩码
1、创建目录的默认权限:775 ; 创建普通文件的默认权限 : 664
2、默认目录的起始权限:777 ; 默认普通文件的起始目录:666
3、权限掩码
4、一个文件的最终权限是:默认起始权限 “减去” 权限掩码
5、umask可以修改
粘滞位
引入:Linux下可以存在一些目录,拥有者和所属组是root,其他人允许以other的身份在该目录下进行文件的创建、读取、删除、修改等等
问题:没过other用户都可以在这个临时文件中创建删除文件。在一个共享目录下,你不让我写,不让我读,但防不住我删除。如果我还想在共享目录下,形成临时文件,但是不允许除了我之外的额删除!可以给共享的目录加上粘滞位