一、权限管理
### --- ACL权限:用于解决用户对文件身份不足的问题的。
~~~ ACL权限:一旦递归之后,不可避免的出现权限溢出
### --- sudo: 赋予的权限越详细,普通用户得到的权限越小
~~~ 赋予的权限越简单,普通用户得到的权限越大
### --- SUID:
~~~ 必须针对执行文件才可以赋予SUID权限
~~~ 命令执行者要对该程序拥有x(执行)权限
~~~ 命令执行者在执行该程序时获得该程序文件属主的身份
~~~ SetUID权限旨在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
### --- SUID建议:
~~~ 关键目录应严格控制写权限,比如“/”“/usr”等
~~~ 用户的密码设置要样遵守密码三原则
~~~ 对系统中默认应该具有SUID权限的文件做一列表,定时检查这之外的文件被设置了SetUID权限
~~~ 4表示:SUID:只能针对执行程序的;
~~~ 2代表:SGID:既可以针对执行程序;也可以针对目录;命令本身没有风险,但是对应文件和目录需要777权限,带来风险
~~~ 1代表:SBIT:只能针对目录的权限;命令本身没有风险,但是对应目录需要777权限,带来风险
### --- chattr
~~~ +: 增加权限
~~~ -: 删除权限
~~~ =: 等于某权限
~~~ i: 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置 i 属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
~~~ a: 如果对文件设置 a 属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删
~~~ e: Linux 中绝大多数的文件都默认拥有 e 属性。表示该文件是使用 ext 文件系统进行存储的,而且不能使用“chattr -e”命令取消 e 属性。