Linux特殊权限设置以及使用
Linux文件权限特殊权限(s-s-t)
什么是suid权限
SUID是可执行文件的特殊文件权限,使其他用户能够以文件所有者的有效权限运行文件。 代替执行权限的正常x代替用户的s(指示SUID )特权。
有什么实际的价值
比如对于
/etc/shadow
这个文件是只有root
用户可以执行的,但是如果一般的用户修改密码的话怎么办?因为你不能将修改后的密码hash写入/etc/shadow
,我们看看这个文件的权限。
显然只有
root
用户才能够写入,那么一般用户用的passwd
这个修改用户的命令是怎么来修改密码的呢?
我们看一下/usr/bin/passwd
这个命令的权限

显然在文件所有者的x
权限的位置上被s
给占据了,那么其他的用户执行号文件的时候就是以该文件所有者的权限(也就是roor),那么我们能够修改/etc/shadow
这个文件的内容也就可以解释了.如何设置取消suid权限
chmod u+s file
chmod u-s file
其他用户能够执行的条件
其他用户必须有可执行的权限
x
才可以执行该文件,如果没有的话,会看到s权限会被大写(代表无效).

有什么潜在的危险
对于系统默认的具有
suid
的文件一般是没有可以利用的点的,但是其他的一些自带的命令是有的,下面举出几个例子。find
命令find命令可以执行命令,那么假设有suid权限的话,那么我们可以达到一种"提权的目的"。
touch test
find test -exec whoami \;

我这里面是用的
root
用户,如果是suid
的话是一样的道理
综上,对于suid
权限还是少用的好.从攻击者的角度出发
假设攻击者拿到了一个
shell
准备去提权,那么我们利用suid提权,第一步做的就是先找到有suid权限的文件进行分析.使用
find
命令进行查询
find / -user root -perm /4000 2>/dev/null
上述命令就是从根目录下查找有具有root
suid
权限的文件
-perm是寻找文件权限的参数查找一般权限
-perm 777 //查找具有普通777权限的文件
查找特殊权限
-perm /4000 //查找具有suid权限的文件
一般权限
r w x
4 2 1
特殊权限
s(suid) s(sgid) t(sbit)
4000 2000 1000
是不是很相像呢?
这里面再举一个例子
chmod 4777 xxx
就是设置suid与平常的777权限。
当然除了suid
还有sgid
以及sbit
权限,这里不再赘述。Linux文件权限之i、a权限
i权限:不可修改权限
设置方式: chattr +i xxx
那么该用户就不可修改,无论任何人,如果需要修改,使用chattr -i xxx
就可以了
只有root才可以修改
Linux特殊权限设置以及使用的更多相关文章
- Linux文件权限设置
基本概念 https://linux.cn/article-7418-1.html#3_8880 用户管理 文件权限设置 -添加用户账户08% -理解 /etc/passwd 中的内容12% -理解 ...
- 深入理解linux的权限设置和SUID,SGID以及粘滞位
我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...
- Linux系统权限设置 - 运用指南
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...
- Centos PHP+Apache执行exec()等Linux脚本权限设置的详细步骤
1. 查看一下你的Apache的执行用户是谁: lsof -i:80 运行之后的结果为: 从图中我们可以清楚的看到,httpd(也就是Apache)的执行用户为:exec_shell( ...
- Linux文件权限设置教程
Linux的文件基本权限有9个,分别是owenr.group.others三种身份各自有自己的r.w和x,比如"rwxrwxrwx",就表示owener具有r.w.x权限,同样gr ...
- 大数据之Linux用户权限设置
用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理,在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限 ...
- Linux 权限设置chmod
Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...
- Linux 权限设置
一.文件和目录权限 在Linux系统中,用户可以对每一个文件或目录都具有访问权限,这些访问权限决定了谁能访问,以及如何访问这些文件和目录. 1.文件权限简介 在Linux系统中,每一位用户都有对文件或 ...
- Linux文件/目录权限设置命令:chmod
文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...
随机推荐
- CodeForces 731D (差分+线段扫描)
Description Archeologists have found a secret pass in the dungeon of one of the pyramids of Cyclelan ...
- <Jmeter入门不放弃>之<1.认识jmeter>
大家这里参考学习的时候,我就不在这里配截图了,因为需要你打开工具根据文档自己去找,,才有印象,大家一定要启动JMeter! 一.Jmeter是什么 由 Apache 组织开发,基于JAVA压力测试工具 ...
- 存储-docker volume 生命周期管理(14)
volume 生命周期管理 - 每天5分钟玩转 Docker 容器技术(44) Data Volume 中存放的是重要的应用数据,如何管理 volume 对应用至关重要.前面我们主要关注的是 volu ...
- 提供 web前端、H5、html页面 技术服务
如有前端页面的需求请在评论区留言 第一时间进行回复
- cooike和session到底是个啥
1.为什么需要cookie ? cookie不属于http协议范围,由于http协议无法保持状态,即无状态属性.但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. co ...
- 原来... 用debug如何查看当前标志寄存器的标志位值?
-r 用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC这些符号代表的就是标志寄存器里常用标志位的值. 这个是符号值对应表: 溢出标志OF(Ov ...
- Insmod模块加载过程分析
一.背景 a) 在进行JZ2440的一个小demo开发的时候,使用自己编译的内核(3.4.2)及lcd模块进行加载时,insmod会提示加载失败因为内核版本不匹配(提示当前内核版本为空),并且显示模块 ...
- linux卸载
centos平台 yum remove xxxrpm包,rpm -e xxxtar包直接删除该文件或者make uninstall xxx
- Tomcat负载均衡、调优核心应用进阶学习笔记(三):LNMT nginx+tomcat、LAMT apache+tomcat、session会话保持、不错的站点
文章目录 LNMT nginx+tomcat LAMT apache+tomcat 基于mod_proxy 单节点 配置基于mod_proxy的负载均衡 基于mod_jk(需要编译安装) 单节点 配置 ...
- c#网络通信框架networkcomms内核解析之一 消息传送
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 在网络通信程序中,本地的类或者对象,要传输 ...