26 апреля, 2024

Основы Linux.Часть 9 (Управление переменными среды)

Содержание:

С возвращением, мои любознательные хакеры!

Одной из трудностей, с которыми часто сталкиваются новички в Linux, являются переменные среды. Хотя в системах Windows тоже есть переменные среды, но большинство пользователей и даже администраторов никогда ими не управляют. Чтобы получить максимальную отдачу от системы Linux, как инструмента хакинга, нам нужно понимать, что такое переменные среды и научиться управлять ими.

Переменные среды — это переменные (например, настройки), которые используются нашей операционной системой или средой окружения. В большинстве случаев средой окружения будет оболочка BASH. Каждый пользователь, включая root, имеет набор переменных среды, которые установлены по умолчанию, до тех пор, пока их не изменят. Мы можем изменить значения этих переменных, чтобы наша система работала более эффективно и наилучшим образом удовлетворяла наши потребности.

Шаг 1. Просмотр переменных среды

Чтобы посмотреть на значения переменных среды введите в консоль:

set

Обратите внимание, что команда set выводит нам все переменные среды, пользовательские функции и alias`ы (псевдонимы — сокращения команд). При этом наши переменные среды всегда являются именами в верхнем регистре, например такие, как HOME, PATH, HISTSIZE и т.д.

Если мы хотим увидеть само значение переменной, то мы должны ввести следующее:

echo $HISTSIZE

Важная деталь — если нам нужно использовать значение переменной, как в этом примере, то мы должны перед названием переменной вставлять знак доллара — $.

Переменная HISTSIZE содержит значение количества команд, которые хранятся в нашем файле истории. Как вы можете видеть на этом скриншоте, для переменной HISTSIZE установлено значение 1000. В некоторых случаях нам может и не потребоваться, чтобы наши команды хранились в файле истории. Например, когда мы заметаем следы, тогда мы можем установить значение переменной HISTSIZE равное нулю.

HISTSIZE=0

Когда мы меняем переменную окружения (среды), то это изменение происходит только для данного конкретного окружения. Это означает, что после закрытия текущего терминала любые изменения, которые мы сделали с этими переменными, теряются или возвращаются к своим значениям по умолчанию. Если мы хотим, чтобы значение переменной осталось для нашего следующего сеанса работы в терминале, то нам нужно экспортировать эту переменную. Мы можем сделать это, просто набрав:

export HISTSIZE

Шаг 2. Изменение приглашения командной строки

Давайте немного поиграем и изменим вид приглашения командной строки (терминала). Переменная окружения, которая отвечает за вид командной строки первого терминала, называется PS1. Мы можем изменить ее, набрав:

PS1= «World`s Best Hacker: #»

Помните, что всякий раз, когда мы будем открывать первый терминал (PS1), наше приглашение теперь будет «World’s Best Hacker». При этом второй терминал (PS2) по-прежнему будет иметь вид по умолчанию в BackTrack. А если нам действительно нравится такой вид командной строки, и мы хотим его сохранить, то нужно экспортировать его, чтобы всякий раз, когда бы мы ни открыли терминал, приглашение выглядело бы как «World’s Best Hacker».

export PS1

Шаг 3. Изменение переменной PATH

Могу предположить, что самой важной переменной в нашем окружении является переменная PATH. Это то, что определяет, где наша оболочка (shell) ищет команды, которые мы вводим, например, cd, ls, echo и т.д. Если она не находит команду в одной из директорий нашего пути, она возвращает ошибку «команда не найдена», даже если такая команда существует в другой директории, но не указанной в переменной PATH.

Читать также:  Как перечислить общие ресурсы NetBIOS с помощью NBTScan и Nmap Script Engine

Давайте посмотрим на нашу переменную пути:

echo =$PATH

Обратите внимание на директории, включенные в нашу переменную PATH. Обычно это различные /bin и /sbin директории, в которых найдены наши системные переменные. Когда мы вводим команду ls, система знает, что ее нужно искать в каждой из этих директорий.

Всякий раз, когда мы хотим использовать aircrack-ng или другое приложение для взлома, не включенное в переменную PATH, мы должны сначала перейти к той директории, в которой находится это приложение. Например, в случае aircrack-ng путь мог бы быть таким —/pentest/wireless/aircrack-ng.

И теперь, если мы хотим добавить наше приложение для взлома WiFi сетей в нашу переменную PATH, то мы должны ввести:

PATH=$PATH:/pentest/wireless/aircrack-ng

Теперь, когда мы хотим запустить aircrack-ng, нам не нужно переходить в директорию pentest/wireless/aircrack-ng. Теперь мы можем выполнять приложения aircrack-ng из любого места в BackTrack!

Это может быть очень полезным методом для работы с директориями, которые мы часто используем. Но следует быть осторожнее, чтобы не добавлять слишком много директорий в переменную PATH, так как системе приходится искать команды в каждой из них, а это может потенциально замедлять работу терминала и, соответственно, сам взлом.

Вот и все на сегодня!

Следите за обновлениями серии «Основ Linux». Если вы еще не читали другие статьи этой серии, то рекомендуем сделать это ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8).

Добавить комментарий