Day16
作者:方维超
归档:课堂笔记
时间:2019/3/21
老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结
学无止境,老男孩教育成就你人生的起点!
第****12****章 linux****系统权限知识及应用实践
Linux****基础权限 是9****个字符
分3组:
前三个字符是一组——用户权限位(属主)。 user u
中三个字符是一组——用户组权限位(属组)。group g
后三个字符是一组——其他用户权限位。 others o
同一组的三个字符也是有位置的:
r-- 第一个字符的位置是读的权限位。
第二个字符的位置是写的权限位。
第三个字符的位置是执行的权限位。
r 4
w 2
x 1
- 0
**【文件】权限详细说明:*******
测试准备:
incahome(家、组)
oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者
oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色
test 其他人 其他(others)人,用来代表其他用户角色
[root@oldboy~]# groupadd incahome
[root@oldboy~]# useradd oldboy
useradd: user 'oldboy' already exists
[root@oldboy~]# usermod -g incahome oldboy
[root@oldboy~]# id oldboy
uid=1003(oldboy) gid=1004(incahome) groups=1004(incahome)
[root@oldboy~]# useradd oldgirl -g inachome
useradd: group 'inachome' does not exist
[root@oldboy~]# usermod -g incahome oldgirl
[root@oldboy~]# id oldgirl
uid=1000(oldgirl) gid=1004(incahome) groups=1004(incahome)
创建用于测试的目录和环境:
[root@oldboy~]# echo "echo oldboyLinux" >/oldboy/test.sh
[root@oldboy~]# cat /oldboy/test.sh
echo oldboyLinux
[root@oldboy~]# chmod +x /oldboy/test.sh
[root@oldboy~]#
Permission denied 许可执行权限。
权限修改:
777 +x -x u=w g-x
Linux****权限有两种表现形式:
1****、数字表示法 ****八进制
r 4
w 2
x 1
- 0
实际的权限表示就是将每3位相加即可。
2****、字符表示法
练习:
chmod 修改文件属性的权限
[root@oldboyedu /oldboy]# chmod u=rw,g=rw,o=rx test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
-rw-rw-r-x 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chmod u-rw,u+x,g-w,g+x,o-r,o+w test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---xr-x-wx 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---xr-x-wx 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chmod a=x test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
修改文件属性的用户和组:
chown用户.用户组 文件 这里的点可以用:替换
chown用户 文件
chown . 用户组 文件
[root@oldboyedu /oldboy]# chown oldboy test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chown .incahome test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy incahome 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chown root:root test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
安全权限的临界点:*
文件不想被修改被执行:644****(默认就是644****)
目录不想被修改(删除移动创建)被执行(进入):755****(默认就是755****)
企业真实案例:
网站文件被恶意修改,打开网站后有弹窗广告(不是本网站的),用户打开网站,提示报警。
原因:
权限设置不到位。‘chmod -R 777 目录 开发人员习惯’
解决方案:
1、备份(打包)
2、找到被修改的文件
3、批量删除
4、找到文件被篡改的来源,并进行优化调整。
亡羊补牢。
5、写总结 故障报告。
控制默认权限的东西 ** umask**
[root@oldboy/]# umask
0022
当umask****中存在奇数位的时候,在计算完毕后,奇数位都+1.
基于文件: 默认权限规则(了解即可)
从666****计算
Umask****都为偶数,默认权限用减法
Umask****有奇数,默认权限用减法,然后奇数位加1
基于目录:默认权限规则
从777****计算
默认权限用减法
Linux****系统特殊权限位知识
9位基础权限
还有3位特殊权限位
1. suid****位 4
2. sgid****位 2
3.sticky****位 1
SUID SGID sticky
表示字符 S S T
占据位置 基本权限x位 基本权限x位 基本权限x位
基本权限有x位 s s t
数字表示 4 2 1
八进制表示 4000 2000 1000
作用 针对用户位 针对用户组 其它
工作中有啥用:
######
重点::