目录
引言
一:Linux中用户的分类
二:在Linux中的权限
1.权限的两种属性
1.人的属性
2.事物属性 -主要以文件属性为主
3.文件权限值的两种表示方式方法
2.更改文件访问者(拥有者,所属组,其他人)权限属性
3.更改文件的拥有者和所属组
4.目录和文件的起始权限问题
5.目录权限相关内容
接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧
引言
在日常中我们也会经常提及权限这个问题,权限这个词简单来说就是去做一件事是否被允许,接下来将介绍Linux中关于权限的问题
一:Linux中用户的分类
1.root 超级用户 和 普通用户
2.root用户基本不受权限的约束,而普通用户是要受权限的约束的;root用户的命令行提示符是#,普通用户的则是$
3.相互之间的切换指令
4.对一条指令暂时的进行提权(以root的方式运行) ,如果当前是普通用户的情况下,我们可以使用sudo 要提权的指令 来操作,但对于用adduser的方式新建的用户,是没有办法执行sudo,系统是不信任的,后面可以将介绍可以将其添加到系统的信任白名单里面
二:在Linux中的权限
1.权限的两种属性
一是人的属性,即权限认证的是身份(角色) ;二是事物的属性
1.人的属性
在Linux中文件访问者(角色)的分类: 拥有者 所属组 其他人
与具体的root用户和普通用户的联系是:拥有者可以是root用户或者普通用户,所属组和其他人也如此
2.事物属性 -主要以文件属性为主
1.文件的属性是分为:可读,可写,可执行
2.关于文件属性每个数据的介绍
3.文件权限值的两种表示方式方法
2.更改文件访问者(拥有者,所属组,其他人)权限属性
第一种方式:
chmod u+w 文件名 :给文件的拥有者添加可写属性
chmod u+rw 文件名 给文件的拥有者添加可写可读属性
chmod u+rwx 文件名 给文件的拥有者添加可写可读可修改属性
chmod u-rw 文件名 给文件的拥有者去掉可写可读属性
chmod g-rw 文件名 给文件的所属组去掉可写可读属性
chmod o-rw 文件名 给文件的其他人去掉可写可读属性
chmod u-rwx,g+rw,u-rw 文件名 ....
chmod a-rw 文件名 给文件的所有人去掉可写可读属性
....
第二种方式:使用8进制数值表示方式(每个8进制数看作对应文件访问者的权限属性)
chmod 777 文件名 :给文件的所有人添加可读可写可执行属性
chmod 000 文件名 给文件的所有人去掉可读可写可执行属性
....
3.更改文件的拥有者和所属组
暂时在root下修改
更改拥有者: chown 用户名 文件名
更改所属组: chgrp 用户名 文件名
同时更改拥有者和所属组 : chown 用户名:用户名 文件名
4.目录和文件的起始权限问题
在每次创建新的文件或目录时,对应的权限8进制数值是一样的
新创建的普通文件的初始权限为664 ,目录为775
但系统默认给普通文件的初始权限是666,给目录文件的初始权限是777,那为啥最后再创建出来后会有差异的,这其中就有权限掩码的参与
权限掩码:
1.查看权限掩码 umask(开头0代表8进制数,每个8进制数字表示每个文件访问者的权限)
2.规定:凡是在umask中出现的权限,是不会在最终的文件权限中出现的
3.更改权限掩码: umask 0+三个8进制数
4.文件或目录最终权限的计算
文件或目录最终权限=系统给的默认权限& (~umask)
如:普通文件的最终权限的计算664
目录文件的775同理
也正是因为权限掩码的存在,才有了文件和目录创建时的权限
5.目录权限相关内容
1.关于目录文件的可读和可写可执行属性具体指:
r: 是否允许我们查看指定目录下的文件内容 如关于cat指令,有读的权限时,cat指令是允许执行的,反之不能执行
w: 是否允许我们在当前目录下进行创建,更改,删除 相关指令有echo,mv,rm等
x:是否允许用户进入对应的目录 相关指令有cd
2.普通用户自己的家目录的权限是700,即只有自己(拥有者)可见,别人都不能见
这时如果要多人共享文件的话,就不能在一个人的家目录下创建共享文件
而是在root根目录下可以建议一个临时目录,也可以直接使用tmp目录
这里的建立共享目录以自己新建的为例
但如果mjw用户在共享目录下建立的文件,如果lfp用户要直接删除的话,也是允许的
这就似乎不合理了,这样的话在共享目录下建立的文件任何人都能删除了,更重要的是为啥自己建立的文件为啥别人也能删除?接着往下
3.对于一个文件能否被删除,不是由文件本身决定,而是由这个文件所处的目录决定
在temp目录下建立的文件由于temp目录的其他人权限是rwx都有的,因此允许任何一个人删除文件
4.粘滞位:粘滞位的产生主要来解决由于共享文件而造成的可以互删共享文件问题,但对于这个问题如果只是简单的去掉共享目录的w权限的话(上面就是chmod o-w temp),也可以避免其他人删除自己文件的问题,但此时我们也就无法再创建文件这些了,所以产生了粘滞位来解决
粘滞位:给共享目录设置,这时我们就可以在目录下进行各自文件的增删查改和读他人的共享文件,但只允许文件拥有者/root用户来删除文件,也就是只能在共享目录下可以创建文件,但不能删除不属于自己创建的文件
chmod o+t 共享目录名
t是一种特殊的可执行权限