5.5setuid和setgid。

setuid:

对于上图,普通用户修改密码过于简单但是不成功,会提示。另外,只有在超管(root)才能修改其他用户的密码,命令:passwd oldboy。

查看passwd的系统位置,其中会附上颜色。权限中的s就是suid。

再修改密码的时候,就是修改的/etc/shadow文件。

对于上图:4开头的就是指suid的设置。

小结:

1.在用户对应的前三位的x位上如果有s就表示,setuid。当x位上没有x的时候,suid就是S。

2.setuid位是让用户可以以root(或其他)用户的角色运行只有root(或其他)账号才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等。(注意和su及sudo的区别)

通过给rm命令设置suid加深学生对suid的理解。

把oldboy的属主和属组改为root,root。

然后进入到oldboy,通过rm删除test.txt,但权限不够。要是希望能够通过oldboy删除root组的test.txt。有以下几种方法:

1)把rm命令加到sudo里面去。通过命令visudo,切到98行,(命令:98gg),把user02最后加上/bin/rm,然后把user02改为oldboy(相当于普通用户oldboy有了rm权限。)如下两图:

改过之后,然后在oldboy用户可以执行sudo rm -rf test.txt。来进行删除,如下图(如果不加sudo则会出现权限不够的提示。):

2)对命令设置suid。

因为创建的test.shx位没有x,所以经过u+s权限改过之后,就变成了S。而非小s。

但是进入到oldboy之后,还是删除不了test.sh。其原因是suid不是修改的要处理的文件,而是修改的要执行的命令(rm)。可以说,这是老男孩设置的一个陷阱。

通过修改权限,使/bin/rm的权限有了s,这样就可以通过rm来删除目标文件了。

进入到oldboy,rm删除成功。

通过以上两个方法就可以看出来suid的作用。

可以说只要rm被给了suid(前面权限中的s),整个系统都能被删除掉。suid的作用就是这么大,对于上图rm就相当于root的尚方宝剑。对于其他,rm(例子)是属于属主(root)的尚方宝剑。如果属主是oldboy,其他用户执行rm,就相当于有了oldboy应有的权限。

3.suid仅对二进制命令或程序有效,不能用在shell等类似脚本文件上(因为shell脚本仅仅是调用二进制命令程序而已,因此,具体权限还需要看二进制命令本身)。

4.二进制命令或程序都需要有可执行权限x。

5.suid权限仅在程序执行过程中有效。

6.执行命令的任意系统用户都可以获得该命令程序执行期间对应的拥有着的所有权限。

7)suid是双刃剑,是一个比较危险的功能,对系统安全有一定的威胁。如果有可能的话,可以对系统中suid无用的功能取消suid的权力(安全优化)。

一般比较危险,所以在试验结束之后再把权限改回来,如下图:

问题:查找具有suid的内容。

命令:find --help:

其中的perm是查看权限的。

通过以上命令,就可以把4755权限的文件查出来。

setgid知识小结:

对上图:当我们执行一个命令的时候,这个命令会去操作别的文件,执行别的文件。setgid是用户组上面的,当我们使用/usr/bin/locate这个命令的时候,如果有s的话,任何用户执行这个命令,都有和这个组(slocated)一样的权限。用户执行命令,实际上是在改/var/lib/mlocate/mlocate.db这个文件,那这个文件正好有这个组(slocare)对应的权限,所以在读这个文件的时候,就看属组r--这三位了。

如果/usr/bin/locate对应的属组权限没有s了,执行/usr/bin/locate命令的时候,就要看/var/lib/mlocate/mlocate.db对应的后三位权限了(---),文件就没有权限可以用了。

举例(setgid对于文件的权限):

在没有改变/usr/bin/locate之前,oldboy是可以用locate查到cp的位置的,因为对应的有sgid权限,但是在root下改变了locate的权限之后,oldboy就查不到cp的位置了,显示权限不够。

注意:例子演示完之后要把属性改回来。

举例(setgid对于目录的权限):

RHCE认证考试题:

在root下创建目录和文件的话,默认情况下都是属于root的用户,root的组。如上图创建的oldboy.txt和test.txt。属主和属组都是root。想要自动继承adminuser组,可以使用以下方法:

其中的sgid.txt的属组就变成了adminuser。

针对suid以及sgid,工作中尽量不用,多用sudo来管理,如果有可能要查找系统中无用suid位的命令等,进行撤除。sS都是suid,sgid的标识,suid是在用户位上,sgid是在用户组位上,和x重合的时候,就显示的是小写字母s。

5.6黏滞位sticky Bit(sbit)及设置方法。

在其他用户权限中有t的话,就表示有粘滞位。

说明介绍:

进入到test组,在组中删除之前在oldboy组中创建的o.txt,但是删除不成功。这就是sbit的作用。

tmp目录在没有x位的情况下,t也是大写的(T)。

位加上x也就是小t。

特殊权限对应的数字:

suid  4000s

sgid  2000s

粘滞位  1000t(做工作中也不常用)。

增加粘滞位的方法:

chmod 7755 test。

chmod o+t test。

tmp是典型的具有粘滞位的目录,特点就是谁都有写权限,因此安全成问题。常常是木马的第一手存放地。一般的运维不会管这个目录。但是高级的网站,专家等对这个会有需求,会进行管理。

8.1文件属性和文件系统属性的关系。

讲的主要就是chattr lsattr优化。

linux优化:把文件加密之后,然后把他们移走,及比较安全了。黑客也很难发现。

chattr的参数有a,c,d,ei等,但是只需掌握a和i。

这是下载chattr,当然了,用户中有chattr的话就不用下载了。

文件加了a之后,不能删除,不能追加,但是可以>>(添加)内容。

6.3文件属主和用户组的特殊情况。

使用chown时,属主,属组都是真实存在的,如果把文件对应的属主和属组删除,则属主,属组所在位置对应的变成了数字。如上图的503。

setfacl:可以对用户有一个更细的控制权限。作为了解,工作中一般用不到。

L016-老男孩Linux高端运维课程-linux系统文件权限体系实战深入讲解相关推荐

  1. L012-老男孩linux高端运维课程—linux系统文件属性知识深入详解

    链接http://blog.51cto.com/oldboy/612351是删除原理的案例. 磁盘满案例:http://blogread.cn/it/article/6565?f=wb(inode占满 ...

  2. L022-老男孩Linux高端运维课程-linux系统网络基础知识及配置实战精讲

    01001100:第2,5,6位为1对应的数是64,8,4.那么它对应的十进制数是64+8+4=76 224=11100000(二进制数)方法:224-128=96,96-64=32,32-32=0. ...

  3. L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

    for n in `seq 512` ;do echo 1 >>a.log;done:写一个1K的文件,如下图: for n in `seq 100000` ;do /bin/cp a.l ...

  4. linux+python高端运维班2017年1月课程及服务全新升级!

    老男孩IT教育是唯一一个和51CTO学院战略合作达到在线开班15期以上(近千名学员)以上的培训机构. 老男孩教育始终坚持以"不能让学员高薪就业的培训机构都是耍流氓"为标准开展教学任 ...

  5. 马哥2016全新Linux+Python高端运维班第八周作业

    一.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥(Bridge) 网桥是第2层的设备,它设计用来创建两个或多个LAN分段.其中,每一个分段都是一个独立的冲突域.网桥 ...

  6. python第七周答案_马哥2016全新Linux+Python高端运维班第七周作业

    1.创建一个10G分区,并格式为ext4文件系统: [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2). 更改将停留在内 ...

  7. 马哥2016全新Linux+Python高端运维班第七周作业

    1.创建一个10G分区,并格式为ext4文件系统: # fdisk device 子命令:管理功能 p: print, 显示已有分区: n: new, 创建 d: delete, 删除 w: writ ...

  8. python123第五周作业答案_马哥2016全新Linux+Python高端运维班第五周作业

    本周作业内容: 1.显示当前系统上root.fedora或user1用户的默认shell:# 没有fedora.user1用户,添加fadora,user1模拟环境 [root@localhost ~ ...

  9. python123平台作业答案第十一周_马哥2016全新Linux+Python高端运维班第十次作业

    系统的INPUT和OUTPUT默认策略为DROP,请完成以下关于iptables的题目:iptables -A INPUT -d 10.18.11.13 -p tcp --dport 22 -j AC ...

最新文章

  1. flutter导入第三方库
  2. 作用域变量 var
  3. SCCM2012SP1---配置客户端发现方法和边界组
  4. LeetCode 482. 密钥格式化
  5. CCF NOI1004 填充矩形
  6. [转载] python执行shell命令的几种方法
  7. 兼容浏览器的DIV最小高度自适应
  8. SQL课堂笔记--索引和视图
  9. mysql 复制权限不够_解决不能mysqldump备份权限不够的问题
  10. 看懂了这三个故事再结婚
  11. 38个敏感词_敏感词运营体系搭建手册—正则关键词
  12. 算法竞赛入门经典 电子书(附习题解析)网盘下载
  13. 如何快速通过信息系统管理工程师考试
  14. 项目管理模型总结---原型模型、迭代模型
  15. css设置文字外发光
  16. 为什么计算机的伟大发明总是诞生于美国?
  17. Generative Modeling by Estimating Gradients of the Data Distribution(paper reading)
  18. 谷歌浏览器获取计算机用户名,谷歌Chrome浏览器如何删除记住的账号和密码
  19. 【正点原子Linux连载】第十八章 Camera 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
  20. 如何分辨一个公司是玩你还是爱你?

热门文章

  1. 成都拓嘉辰丰电商:拼多多平台有哪些方便的小工具
  2. ai智能视频智能分析系统
  3. ERP的五大核心思想
  4. 襄阳四中2021高考成绩查询,湖北襄阳赫赫有名的4所高中,2020年高考成绩说话,实力不输黄中...
  5. 洛谷P4766 [CERC2014]Outer space invaders题解
  6. mysql+过滤纯标点符号,用正则表达式去除标点符号
  7. 2021年中国钢丝锤钻市场趋势报告、技术动态创新及2027年市场预测
  8. 通俗理解卷积神经网络
  9. 戴森Lightcycle Morph照明灯黑金版上市,中国大陆限量2000台
  10. 那些Chrome不为人知的高效隐藏技巧,让你的浏览器好用10倍!