mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
109 lines
4.8 KiB
Markdown
109 lines
4.8 KiB
Markdown
# Змінні середовища 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
|
||
```
|
||
## Загальні змінні
|
||
|
||
З: [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** – ваше поточне ім'я користувача.
|
||
|
||
## Цікаві змінні для хакінгу
|
||
|
||
### **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)
|
||
|
||
Root:
|
||
|
||
.png>)
|
||
|
||
Звичайний користувач:
|
||
|
||
.png>)
|
||
|
||
Одна, дві та три фонові задачі:
|
||
|
||
.png>)
|
||
|
||
Одна фонове завдання, одне зупинене і остання команда не завершилася правильно:
|
||
|
||
.png>)
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|