第十二章 系统权限知识及应用实践
1.1、Linux基础权限
1.1.1、 Linux基础权限是9个字符
分三组:
前三个字符是表示用户(属主)权限位
中三个字符是表示用户组权限位
后三个字符是其他用户位权限
同一组的三个字符权限也是有位置的:
r--:第一个字符的位置读的权限位
w--:第二个字符的位置写的权限位
x--:第三个字符的位置执行的权限位



1.1.2、rwx数字权限表示
r ==4 :表示具有读取、浏览文件内容(即读取文件实体block)的权限
w ==2:表示具有增加、修改、删除文件内容的权限
x ==1:表示具有 执行文件的权限
- ==0:没有读、写、执行的权限
(注:1、如果没有可读r配合,那么使用vim编辑文件时会提示文件无法编辑(但可以强制编辑);可以使用echo等命令进行重定向追加。)
1.1.3安全权限临界点
文件不想被修改被执行:644
目录不想被修改(删除移动创建)被执行(进入):755
***企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)
用户打开网站,报警。
原因:权限设置不到位。chmod -R 777 目录 开发人员习惯
解决方案:
1、备份

2、找到被修改的文件

3、批量删除

4、找到文件被篡改来源,并优化调整。
亡羊补牢
5、写总结,故障报告
控制默认权限的东西 umask(临时)
创建文件默认最大的权限为666 (-rw-rw-rw-),其默认创建的文件没有可执行权限x位。

对文件目录的修改是永久的,对自身环境修改是临时的
****umask中存在奇数的时候,在计数完毕,在奇数位+1
基于文件:
umask都为偶数,默认权限用减法
umask有奇数,默认权限用减法,然后奇数位加1
基于目录:默认权限规则
从777计算
默认权限用减法
1.1.4Linux系统特殊权限位知识
9位基础权限
还有3位特殊权限位
suid位:suid(setgid)位同样是通s字符来标识

4 2 1,加和放在基础权限数字的前面。
修改方法:直接在原数字权限前面加减
1.2Linux特殊权限位
1、suid位:
suid(setuid)位通过S字符标识,
存在于基本权限的用户权限位的x权限对应的位置,
如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,
suid的s对应的数字权限为4,完整权限用八进制数4000表示。
2、sgid位:
sgid(setgid)位同样是通过S字符来标识,
但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,
如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,
suid的s对应的数字权限为2,完整的权限用八进制数2000表示。
sticky(粘滞位)知识简介
sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,
如果其他用户位的x权限位上有x权限,
则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,
完整的权限用八进制数1000表示。