4.8 KiB
Змінні середовища Linux
{{#include ../banners/hacktricks-training.md}}
Глобальні змінні
Глобальні змінні будуть успадковані дочірніми процесами.
Ви можете створити глобальну змінну для вашої поточної сесії, виконавши:
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
Ця змінна буде доступна у ваших поточних сесіях та їх дочірніх процесах.
Ви можете видалити змінну, виконавши:
unset MYGLOBAL
Локальні змінні
Локальні змінні можуть бути доступні лише поточній оболонці/скрипту.
LOCAL="my local"
echo $LOCAL
unset LOCAL
Список поточних змінних
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
Загальні змінні
З: 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) був видалений.
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:
Звичайний користувач:
Одна, дві та три фонові задачі:
Одна фонове завдання, одне зупинене і остання команда не завершилася правильно:
{{#include ../banners/hacktricks-training.md}}