hacktricks/src/linux-hardening/linux-environment-variables.md

109 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Linux 環境変数
{{#include ../banners/hacktricks-training.md}}
## グローバル変数
グローバル変数は **子プロセス** に引き継がれます。
現在のセッションのためにグローバル変数を作成するには、次のようにします:
```bash
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
```
この変数は、現在のセッションとその子プロセスからアクセス可能です。
変数を**削除**するには、次のようにします:
```bash
unset MYGLOBAL
```
## ローカル変数
**ローカル変数**は**現在のシェル/スクリプト**によってのみ**アクセス**できます。
```bash
LOCAL="my local"
echo $LOCAL
unset LOCAL
```
## 現在の変数のリスト
```bash
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
```
## Common variables
From: [https://geek-university.com/linux/common-environment-variables/](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** 現在のコマンドシェルへのパス(例:**/bin/bash**)。
- **TERM** 現在の端末タイプ(例:**xterm**)。
- **TZ** あなたのタイムゾーン。
- **USER** あなたの現在のユーザー名。
## Interesting variables for hacking
### **HISTFILESIZE**
この変数の**値を0に変更**すると、**セッションを終了**したときに**履歴ファイル**\~/.bash_historyが**削除されます**。
```bash
export HISTFILESIZE=0
```
### **HISTSIZE**
この**変数の値を0に変更**してください。そうすれば、**セッションを終了**すると、任意のコマンドが**履歴ファイル**\~/.bash_historyに追加されます。
```bash
export HISTSIZE=0
```
### http_proxy & https_proxy
プロセスは、ここで宣言された**プロキシ**を使用して、**httpまたはhttps**を介してインターネットに接続します。
```bash
export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"
```
### SSL_CERT_FILE & SSL_CERT_DIR
プロセスは**これらの環境変数**で示された証明書を信頼します。
```bash
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
```
### PS1
プロンプトの見た目を変更します。
[**これは例です**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808)
ルート:
![](<../images/image (897).png>)
通常のユーザー:
![](<../images/image (740).png>)
バックグラウンドで実行中のジョブが1つ、2つ、3つ:
![](<../images/image (145).png>)
バックグラウンドジョブが1つ、停止したジョブが1つ、最後のコマンドが正しく終了しなかった場合:
![](<../images/image (715).png>)
{{#include ../banners/hacktricks-training.md}}