Day 16 课堂笔记
1,文件权限介绍
linux基础权限为9个字符。
[root@zhangxiangyu-58 ~]# ls -lhi
总用量 24K
33576444 -rw-r--r-- 1 root root 354 3月 12 00:00 grep.txt
33576450 -rw-r--r-- 1 root root 6 3月 18 18:20 num.txt
33575033 -rw-r--r-- 1 root root 249 3月 20 18:11 oldbouydu.txt
33576449 lrwxrwxrwx 1 root root 10 3月 14 09:20oldboy_soft_link -> oldboy.txt
rw-r--r--
rw-r--r--
rw-r--r--
分为三组:前三个字符是表示用户(属主)权限位 user(用户) u
中三个字符时表示用户组权限位 group(用户组)g
后是哪个字符是其它用户权限位 others (其它用户)o
同一组的三个字符权限也是有位置的:
r-- 第一个字符的位置读的权限位 具有读取实体block
第二个字符的位置写的权限位 具有新增,修改,删除文件内容
第三个字符的位置执行的权限位 具有可执行文件的权限
(首先文件的本身要能够执行)( 如果是普通用户,同时还需r的配合)
r 4
w 2
x 1
- 0
incahome(家、组)
oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者
oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色
test 其他人 其他(others)人,用来代表其他用户角色删除文件或创建文件是受上级目录的inode的权限控制的
测试准备:
[root@zhangxiangyu-58 ~]# groupadd incahome
[root@zhangxiangyu-58 ~]# useradd oldboy
[root@zhangxiangyu-58 ~]# id oldboy
uid=1003(oldboy) gid=1005(oldboy) 组=1005(oldboy)
[root@zhangxiangyu-58 ~]# useradd -g incahom oldboy
useradd:“incahom”组不存在
[root@zhangxiangyu-58 ~]# useradd -g incahome oldboy
useradd:用户“oldboy”已存在
[root@zhangxiangyu-58 ~]# usermod -g incahome oldboy
[root@zhangxiangyu-58 ~]# id oldboy
uid=1003(oldboy) gid=1004(incahome) 组=1004(incahome)
[root@zhangxiangyu-58 ~]# usermod -g incahome oldgirl
[root@zhangxiangyu-58 ~]# id oldgirl
uid=1000(oldgirl) gid=1004(incahome) 组=1004(incahome)
[root@zhangxiangyu-58 ~]# userad
-bash: userad: 未找到命令
[root@zhangxiangyu-58 ~]# useradd test
useradd:用户“test”已存在
[root@zhangxiangyu-58 ~]# usermod -g incahome test
[root@zhangxiangyu-58 ~]# id test
uid=1001(test) gid=1004(incahome) 组=1004(incahome)
目录的读:r 表示具有浏览目录下面文件名的权限
目录可写:控制目录下面的一个增 删 改 ,但必须要有x的配合
目录可执行: 表示具有进入目录的权限
Linux权限有两种表现形式:1,数字表示法 r==4 w==2 x==1 - ==0
实际的权限表示就是将每3位相加即可rwxr-xr-x 755
2,字符表示法
rw-rw-r-x 代表的数字权限为665
--xr-x-wx 代表的数字权限为153
-wx--x--x 代表的数字权限为311
而以下数字权限表示的字符权限如下:
755 代表的字符权限为rwxr-xr-x
644 代表的字符权限为rw-r--r--
134 代表的字符权限为--x-wxr--
修改文件属性的用户和组:
chown change owner 改变文件用户和组 -R 递归修改
chown 用户. 用户组 文件 这里的 . 可以用:替换
chown 用户 文件
chown .用户组 文件 ====chgrp 用户组 文件
安全权限临界点:
文件不想被修改被执行: 文件 644 -rw-r--r--
目录不想被修改被进入: 目录 755 -rwx-rx-rx
企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)
用户打开网站,报警。
原因:权限设置不到位。chmod -R 777 目录 开发人员习惯
企业案例解决方法:
1,先备份 :tar zcvf /opt/oldboy_$(date +%F) .tar.gz ./oldboy/
2,找到被修改的文件:find /oldboy -type f |xargs grep ‘修改内容’
3,批量删除
4,找到文件被篡改的来源,并优化调整
5,写总结 故障报告
控制默认权限的东西 umask
[root@zhangxiangyu-58 /]# umask
0022
创建文件默认最大的权限为666 (-rw-rw-rw-),其默认创建的文件没有可执行权限x位
当umask中存在奇数位的时候,在计算完毕,后面奇数位都加一
基于文件:
Umask都为偶数 默认权限用减法
Umask有奇数 默认权限用减法 然后奇数位加一
基于目录:
从777计算 默认权限用减法
Linux 系统特殊权限位知识
9位基础权限
还有3位特殊权限位
suid位:
suid(setuid)位通过s字符标识。 针对二进制命令的,给二进制命令设置了suid,
存在于基本权限的用户权限位的x权限对应的位置,如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,suid的s对应的数字位权限为4,完整权限用八进制4000表示
sgid位:
sgid(setgid)同样是通过S字符标识
存在于基本权限的用户组权限位的x权限对应的位置
如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,
suid的s对应的数字权限为2,完整的权限用八进制数2000表示。
sticky(粘滞位)知识简介
sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,
如果其他用户位的x权限位上有x权限,
则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,
完整的权限用八进制数1000表示。
4 2 1 加和放在基础权限数字的前面
修改方法: chmod 7755 abc
工作中有什么用?
Suid到底有什么用
suid到底有什么作用
简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,
拥有和root管理员一样的身份和权限(默认情况)。
ll -ld /oldboy/
drwxr-xr-x 2 root root 21 3月 21 09:24/oldboy/
oldgirl属于incahome,增加一个用户属于incahome,是不是也和oldgirl有同样权限。
oldboy 给一个新用户设置suid,这个新用户的权限就和oldboy一样。