一、基本权限
基本概述:不同用户有不同权限,在服务器上,每个用户都会定义合理的等级。一般只有一个管理员,其他都是普通用户。
二、文件基本权限
1.Linux文件权限的设定
2.Linux文件权限的作用
3.linux中权限对目录的作用
4.linux中其他权限的作用
三、默认权限
1.文件的默认权限
1)文件的默认权限:Windows中,新建文件的权限是由上级所在目录继承过来的。
Linux中,是通过umask来定义文件的默认权限。
文件的默认权限:
①文件默认不能建立为执行文件,必须手工赋予执行权限
②所以文件的默认权限最大为666
③默认权限需要换算成字母再相减
④建立文件之后的默认权限,为666减去umask的值
2.目录的默认权限
目录的默认权限:
①目录的默认权限最大是777
②默认权限需要换算成字母再相减
③建立文件之后的默认权限,为777减去 umask的值
四、特殊权限
1.简介
简介:所有者和所属组有读写执行权限,其他人无权限。但是此时想要将一个人赋予权限r-w权限。不考虑这个用户是所有者还是所属组,直接把这个用户拿出来,赋予它acl的权限。
如何做:
2.linux中acl权限查看与设定
3.ACL最大权限与删除
1)最大有效权限mask
Mask是用来指定最大有效权限的。如果给用户赋予了acl权限,是需要和mask的权限“相与”才能得到用户的真正权限。
2)删除acl权限
4.默认的ACL权限和递归ACL权限
如果使用递归权限,就难以避免会出现权限溢出。因为执行权限,对目录和文件是不一样的,如果对目录赋予权限,对该目录下的文件赋予递归权限,该文件就会得到目录的权限。除非,对该目录下的文件一个一个赋予权限,就可以避免权限溢出。
五、Sudo权限
1.基本概述
root把本来只能超级用户执行的命令赋予普通用户执行, Sudo的操作对象是系统命令。
2.授权普通用户可以添加其他用户
用户如果不设定密码时,无法正常登录;所以要给它赋予设定密码的权限。
例子:给普通用户赋予vi权限,可以查看修改/etc/shadow文件
六、特殊文件权限
注:特殊权限尽量少去修改。
1.SetUID功能:
①只有可以执行的二进制程序才能设定SUID权限
②命令执行者要对该程序拥有x(执行)权限
③命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中,灵魂附体为文件的属主)
④SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效。
当输入mask的时候,回车会出现 0022;第一位0就是特殊权限,后三位是文件的基本权限。
2.取消SetUID的方法
注意:
①关键目录应严格控制写权限。比如“/”“/usr”等
②用户的密码设置要严格遵守密码三原则
③对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限。
Suid脚本:定时检查有没有文件被设置了suid权限。
3.linux中的setGID
SetGID针对文件的作用:
①只有可执行的二进制程序才能设置SGID权限
②命令执行者要对该程序拥有x(执行)权限
③]命令执行在执行程序的时候,组身份升级为该程序文件的属组
④SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效。
SetGID针对目录的作用:
①普通用户必须对此目录拥有r和x权限,才能进入此目录
②普通用户在此目录中的有效组会变成此目录的属组
③若普通用户对此目录拥有w权限时候,新建的文件的默认属组是这个目录的属组
4.SBIT权限
SBIT粘着位的作用
①粘着位目前只是针对目录有效
②普通用户对该目录拥有w和x权限,即普通用户可以在此目录拥有写入权限
③如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下的所有文件。
一旦赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。
注意:不建议手工建立拥有粘着位的目录,因为它要求必须给其他用户赋予7最高权限。
七、不可改变位权限
不仅对于文件如此;对目录也是如此(目录中的文件的内容可以修改)