mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-02 09:29:59 +00:00
7.6 KiB
7.6 KiB
Linux环境变量
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一个网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获得官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组或关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
全局变量
全局变量将被子进程继承。
你可以通过以下方式为当前会话创建一个全局变量:
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
这个变量将可以被当前会话及其子进程访问。
您可以通过以下方式删除一个变量:
unset MYGLOBAL
本地变量
本地变量只能被当前的shell脚本访问。
LOCAL="my local"
echo $LOCAL
unset LOCAL
列出当前变量
To list the current environment variables in Linux, you can use the env
command. This command will display a list of all the variables and their values.
$ env
You can also use the printenv
command to achieve the same result:
$ printenv
Both commands will output the variables in the format variable=value
.
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
持久环境变量
影响每个用户行为的文件:
- /etc/bash.bashrc:每次启动交互式shell(普通终端)时都会读取此文件,并执行其中的所有命令。
- /etc/profile和/etc/profile.d/***:**每次用户登录时都会读取此文件。因此,此处执行的所有命令仅在用户登录时执行一次。
- 示例:
/etc/profile.d/somescript.sh
#!/bin/bash
TEST=$(cat /var/somefile)
export $TEST
仅影响特定用户行为的文件:
- ~/.bashrc:此文件的工作方式与 /etc/bash.bashrc 文件相同,但仅对特定用户执行。如果要为自己创建环境,请修改或在您的主目录中创建此文件。
- ~/.profile, ~/.bash_profile, ~/.bash_login**:**这些文件与 /etc/profile 相同。区别在于执行方式。仅当用户在其主目录中存在此文件时,才会执行此文件。
常见变量
来自:https://geek-university.com/linux/common-environment-variables/
- DISPLAY – X 使用的显示器。此变量通常设置为 :0.0,表示当前计算机上的第一个显示器。
- EDITOR – 用户首选的文本编辑器。
- HISTFILESIZE – 历史记录文件中包含的最大行数。
- HISTSIZE - 用户会话结束时添加到历史记录文件中的行数
- HOME – 您的主目录。
- HOSTNAME – 计算机的主机名。
- LANG – 当前语言。
- MAIL – 用户邮件存储位置。通常为 /var/spool/mail/USER。
- MANPATH – 手册页搜索的目录列表。
- OSTYPE – 操作系统类型。
- PS1 – bash 中的默认提示符。
- PATH - 存储所有目录的路径,这些目录包含您想要通过指定文件名而不是相对或绝对路径来执行的二进制文件。
- PWD – 当前工作目录。
- SHELL – 当前命令shell的路径(例如,/bin/bash)。
- TERM – 当前终端类型(例如,xterm)。
- TZ – 您的时区。
- USER – 您当前的用户名。
用于黑客攻击的有趣变量
HISTFILESIZE
将此变量的值更改为0,这样当您结束会话时,历史记录文件(~/.bash_history)将被删除。
export HISTFILESIZE=0
HISTSIZE
将此变量的值更改为0,这样当您结束会话时,任何命令都不会被添加到历史文件(~/.bash_history)。
export HISTSIZE=0
http_proxy & https_proxy
进程将使用在此处声明的代理通过http或https连接到互联网。
export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"
SSL_CERT_FILE & SSL_CERT_DIR
进程将信任这些环境变量中指定的证书。
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
PS1
更改提示符的外观。
我创建了这个(基于另一个,请阅读代码)。
Root用户:
普通用户:
一个、两个和三个后台作业:
一个后台作业,一个停止的作业和最后一个命令未正确完成:
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想要访问PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品——The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。