Змінні оточення Linux: опис, особливості

Змінні оточення Linux являють собою спеціальний вид змінних, які визначаються командним рядком, системою або оболонкою. Їх застосування можливе практично будь-яким програмним забезпеченням під час здійснення функцій. Особливо часто вони використовуються при здійсненні функцій низького і апаратного рівнів. Так, наприклад, команда PWN під час роботи в командному рядку використовує одну із системних змінних оточення для збереження попереднього шляху до оброблюваного файлу.

Види змінних оточення

Згідно методу оголошення і способів ініціалізації змінні оточення Linux можуть бути трьох видів:

  • Локальний тип змінних і констант ініціалізується під час запуску системи і після виходу видаляється вбудованим деконструктором. Видалення даного виду даних відбудеться в будь-якому випадку, незалежно від того, як проведено підключення до апаратного забезпечення: через пристрої віддаленого доступу, емуляцію термінала або створення сесії через віртуальну машину. Під час обробки вони не зберігаються ні в одному з файлів або директорій. Створення і деконструкція змінних відбувається за рахунок спеціалізованих команд в оболонці управління.
  • Користувальницькі змінні оточення Linux ініціалізуються для кожного з користувачів операційної системи. Визначення і завантаження відбувається під час входу в операційну систему. Так само як і з іншими видами, незалежно від входу через локальний термінал або віддаленого доступу, визначення відбувається автоматично. Збереження даних забезпечується в документах, які відповідають за конфігурацію пристрою. Також можливо зберігати їх в інших документах, які розміщуються у спеціальних папках. Найчастіше знаходяться у файлах bash_profile, bash_login та інших конфігураційних файлах.
  • Системні. Даний вид доступний при роботі системи кожному користувачеві. Застосовуються для управління системними функціями і потрібні для коректної роботи операційної системи. Завантаження здійснюється з директорії з системними файлами оточення, профілю, etc / environment і багатьох інших.
  • Файли, в яких зберігаються змінні

    Під час роботи операційної системи Linux при віддаленому запуску, так і в режимі локального терміналу відбувається обробка і зміна змінних. Деякі з них потрібно зберегти для подальшого використання. Інші ініціалізуються автоматично з допомогою певних інструментів. Для їх зміни і управління деякими функціями потрібно редагувати файли даних, в яких зберігаються їх значення. Ці файли розташовуються у користувача і системних директоріях. Нижче розглянуті основні файли і зберігаються в них дані.

    Документ BASHSRC

    В даному документі зберігаються практично всі користувальницькі дані. Для кожного користувача створюється окремий файл. Завантаження проводиться під час створення сеансу термінального типу.

    Робота змінних починається з нової сесії. Таким чином здійснюється завантаження призначених для користувача налаштувань, даних і при необхідності додатків з попереднього термінального запуску.

    Файл BaSH_Profile

    Дані з цього файлу потрібні для здійснення віддаленого підключення нового користувача за допомогою захищеної оболонки через протокол мережі працюючий на прикладному рівні і через тунелювання протоколів управління передачею. Такий файл може бути видалений системою або користувачем. У такому випадку дані можуть бути поміщені у файли Bash_login або profile. При їх видаленні неможливо коректне управління системою. Припустимо запуск функції по відновленню даних.

    Файл оточення Environment

    Документ Environment, який перебуває в системній директорії ETC являє собою сховище інформації змінних оточення Linux, робота з якими здійснюється на рівні операційної системи. Витяг і робота здійснюється при кожному запуску в будь-якому з режимів (через локальний термінал або при віддаленому доступі до засобів операційної системи за допомогою протоколу SSH (Secure Shell). Дані доступні для кожного користувача, що увійшов в оболонку операційної системи. Виконання цього файлу відбувається при кожному запуску ОС всіма користувачами.

    Системні файли користувачів

    Крім редагуються користувачем, існують також і системні файли, в які записуються дані. Зберігання проводиться в системних директоріях ETC. При необхідності можливе їх редагувати, додаючи певні параметри.

    Власний файл для входу через локальний термінал

    Документ, який знаходиться в директорії /etc/ bash.bashrc, необхідний для користувача під час роботи. Функціонування даного файлу і його змінних оточення можлива тільки при запуску додатків через локальний термінал. При спробі отримати доступ до документів через протокол захищеної оболонки можлива поява помилок про недостатність прав.

    Профіль користувача для доступу через протокол SSH

    У файлі Profile, який знаходиться в директорії ETC, розташовані користувальницькі змінні. Файл може бути виконано тільки при запуску за допомогою віддаленого доступу. Таким чином завантажуються користувача настройки і інші дані. Однак змінні ETC/Profile недоступні для юзерів, які отримали доступ до операційної системи за допомогою локального терміналу, тобто при звичайному включенні.

    Основні змінні оточення

    При роботі в Linux оточення складають безліч різноманітних змінних. До таких належить вид доступу, директорія домашньої області, найменування програми, яка виконує інтерпретацію, виконувані файли і програми, відкриті директорії і додаткові функції. Всі ці параметри називаються оточенням і визначають роботу з пристроєм. Зберігання даних здійснюється в змінних оточення Linux. Вбудована командна рядок операційної системи дозволяє управляти цими значеннями безпосередньо, за рахунок чого здійснюється більш глибокий доступ до файлів і процесів.

    В удосконаленій командної оболонки Bash допустимо використовувати в цих цілях параметри оболонки. Після певних змін можливо проводити експорт даних змінних оточення Linux. Таким чином здійснюється додаткове керування процесами та створення нових. Це дозволяє додавати в процеси, запущені через інтерпретує пристрій, нові дані. Це поширюється як на командний керуючий інструмент, так і на інші інтерпретатори, які можна запустити з основного.

    Команди оточення Linux мають свої унікальні ідентифікатори. Те ж саме стосується параметрів командної оболонки bash. Для того щоб звернутися за даними параметрами, потрібно додати до ідентифікатора посилальний тип. Це здійснюється через знак $.

    Ідентифікатор

    Виконується значення, функція

    USER

    В даній змінної містить ім’я користувача, який увійшов в операційну систему.

    UID

    Числове значення, яке отримує користувач, що увійшов в операційну систему.

    Home

    Директорія в якій зберігаються дані поточного користувача.

    PWD

    Шлях до оброблюваним на даний момент файлів.

    SHELL

    Ідентифікатор обробляє дані програмного забезпечення (командного інтерпретатора).

    $

    Дані про процес, занедбаному командним інтерпретатором.

    PPID

    ID батьківського процесу, який запустив поточний.

    ?

    Помилка або код завершення останньої виконаної командною оболонкою команди.

    Крім того, існує змінна оточення path linux, яка відповідає за шлях до виконуваного файлу. Загалом, у таблиці вище показано практично всі основні параметри командної оболонки.

    Як в Linux додати змінні оточення

    Це можна зробити самостійно при роботі з операційною системою та командною оболонкою bash. Для додавання нового параметра в оточення потрібно скористатися певним набором команд.

    Щоб встановити змінну оточення Linux, введіть в командну оболонку var = параметр, який бажаєте ввести. Потім потрібно експортувати даний параметр за допомогою команди export var = параметр. Для доступу за посиланням потрібно додати до рядка символ долара. Таким чином мінлива створюється тільки для поточної сесії. Причому здійснити це можливо тільки при вході в оболонку за допомогою локального терміналу. У віддаленому варіанті отримати доступ таким способом не вийде. Перегляд змінних оточення Linux здійснюється за рахунок стандартних команд. Важливо відзначити, що це абсолютно не залежить від способу входу.

    Щоб подивитися змінні оточення Linux також потрібно скористатися командою export. Альтернативний варіант – команда env, яка виводить параметр у більш чистому вигляді. Як вивести змінні оточення Linux? Для повного списку можна використовувати команду Set.

    Видалення змінних оточення

    Для деконструкції такої змінної з середовища Linux можна скористатися кількома способами. У кожного методу є свої особливості і характерні риси.

    Команда ENV в звичайному вигляді застосовується для встановлення змінних оболонки. Однак при додаванні -i проводиться локальне видалення параметрів. Таким чином команда здійснюється без залучення змінних. Команда у повному вигляді виглядає наступним чином:

    env –i [Var = Параметр] дія.

    При цьому замість Var можна встановити будь-яке значення змінної оточення. Наприклад, $env -i bash запустить командну оболонку без яких-небудь параметрів. Під час роботи з оболонкою неможливо змінювати або ініціалізувати значення, але при наступних запусках без параметра -i можливо працювати з усіма вбудованими функціями.

    Команда Unset разыменовывает команду або параметр. Те ж саме стосується змінних оточення. Вони повністю видаляються з програмованою оболонки, керованої командним інтерпретатором до кінця поточної сесії. Синтаксис команди виглядає так:

    $ unset Наименование_переменной.

    Крім того, для видалення параметра допускається в Linux задати змінну оточення порожнім значенням. Таким чином параметр видаляється до закінчення поточної сесії. Завдання порожній змінної працює для будь-якого типу підключення.

    Linux змінні оточення процесу

    Процес створення або ініціалізації змінних в командній оболонці здійснюється за допомогою вбудованих функцій. При створенні параметрів таким чином вони зберігаються на всі наступні запуски системи. У той час як більшість версій дистрибутивів операційної системи Linux рекомендують змінювати або додавати нові змінні в директорію ETC / PROFILE. Варто враховувати, що більша частина процесів може керувати з даним видом параметрів і змінювати їх значення. Будь-який сценарій може застосовувати для зміни значень. Проте це заборонено угодами Unix.

    Для установки системних параметрів потрібно редагувати або зачіпати такі файли:

    • /etc/ profile – при роботі з даним документом реально встановлювати значення змінних оточення для командних оболонок;
    • /etc /bash.bashrc – використовується для створення і привласнення значення змінних для інтерактивної оболонки, а також необхідний для роботи скриптів bash.
    • /etc/ environment потрібен для роботи модуля аутентифікації env.

    В Linux установка змінних оточення системного типу здійснюється тільки в ці файли.

    Оголошувати та ініціювати змінні оточення можна у верхньому і нижньому регістрі. Проте вважається більш правильним створювати їх тільки у верхньому, тобто великими літерами. Користь від них полягає у можливості для кожного конкретного користувача виконувати код програмного забезпечення по-різному. Таким чином, утиліти будуть запускатися з вибраними параметрами в залежності від змінної оточення UID або USER. Також інформація може видобуватися з каталогу HOME.

    В операційних системах з різними типами доступу і користувачами потрібен різний набір параметрів. Щоб подивитися змінні оточення Linux для користувачів, може знадобитися використовувати командну оболонку консолі і команди Env або Set. В такому випадку перелік актуальних параметрів буде виведений на екран. При необхідності оновлення використовуйте команду Source і ім’я файлу, в який додана нова змінна оточення.