Як виявити та виправити вразливість Shellshock у bash

Питання: я хотів би знати, як перевірити, чи мій сервер Linux уразливий до помилки bash Shellshock, і як захистити свій сервер Linux від експлойту Shellshock.

24 вересня 2014 року дослідник безпеки на ім’я Стефан Шазелас виявив уразливість bash під назвою «Shellshock» (така ж «Bashdoor» або «Bash bug»). Ця вада, якщо її використати, дозволяє віддаленому зловмиснику запускати довільний код, експортуючи визначення функцій

Детальніше →

Як перевірити, чи існує файл у bash

Коли ви працюєте над сценарієм оболонки в bash, є випадки, коли вам потрібно перевірити, чи існує (чи не існує) певний файл у каталозі, а потім виконати дію на основі умови . У bash є кілька способів перевірити, чи існує файл у bash. Нижче я продемонструю кілька прикладів сценарію оболонки bash для цього випадку використання.

Перевірте, чи існує файл у bash

Найпростіший спосіб перевірити, чи існує файл, — скористат

Детальніше →

Як використовувати цикл for/while/until у bash

Безсумнівно, найкориснішою функцією сценаріїв bash є керування циклом. У будь-якій імперативній мові програмування, наприклад bash, оператори циклу зазвичай використовуються разом з умовними операторами для виконання повторюваних завдань. У випадку bash доступні три різні типи операторів циклу: for, while і until. Кожен із цих операторів циклу стане в нагоді в дещо інших обставинах.

У цьому посібнику я поясню,

Детальніше →

Які корисні псевдоніми та функції Bash

Як любитель командного рядка ви, ймовірно, повторювали одні й ті самі довгі команди знову і знову. Якщо ви завжди використовуєте ssh на одній машині, якщо ви завжди об’єднуєте однакові команди або якщо ви постійно запускаєте програму з однаковими прапорцями, ви можете заощадити дорогоцінні секунди свого життя, які ви витрачаєте на повторення одних і тих самих дій. закінчено.

Щоб цього досягти, можна скористатися псевдонімом. Як ви, можливо, знаєте, псевдонім — це спосіб сказати

Детальніше →

Як відкрити сокет TCP/UDP в оболонці bash

Припустімо, ви хочете відкрити сокет TCP/UDP на сервері Linux з різних причин. Наприклад, ви хочете перевірити, чи доступна певна адреса/порт. Або ви хочете отримати віддалену веб-сторінку або викликати спокійний API для тестування. Або ви хочете підключитися до віддаленого IRC-сервера тощо. Однак що робити, якщо сервер Linux, на якому ви перебуваєте, дуже обмежений? На цьому сервері жоден із стандартних інструментів, як-от netcat, curl або wget, може бу

Детальніше →

Як використовувати словник ключ-значення в bash

У будь-якій мові програмування словник є однією з найбільш фундаментальних структур даних, яка може зберігати набір об’єктів. У словнику об’єкти зберігаються у формі пар <ключ, значення>. Тобто словник зберігає набір ключів, і кожен ключ має пов’язане з ним значення. Ви можете вставити, отримати або оновити значення в словнику за допомогою відповідного ключа. Структура даних словника оптимізована для швидкого пошуку значень на основі їхніх ключів, тому вона часто реалізується за допомогою хеш

Детальніше →

Як читати дані стовпця з текстового файлу в сценарії оболонки bash

Одне з поширених завдань у повсякденній роботі зі сценаріями оболонки — читати дані рядок за рядком із файлу, аналізувати дані та обробляти їх. Вхідним файлом може бути звичайний текстовий файл (наприклад, журнали чи файли конфігурації), де кожен рядок містить кілька полів, розділених пробілами, або файл CSV, відформатований зі значеннями, розділеними роздільниками в кожному рядку. У bash ви можете легко читати стовпці з файлу та зберігати їх в окремих змінних для подальшої обробки. У цьому п

Детальніше →

Як використовувати арифметичні операції в bash

Коли ви пишете сценарій bash, іноді вам може знадобитися швидко обрізати числа всередині сценарію. Наприклад, ви хочете перетворити одиницю даних, з якою ви працюєте, округлити розділене значення до найближчого цілого числа, збільшити лічильник у простих циклах тощо. Кожна мова програмування має вбудовану підтримку основних арифметичних операцій із поширеними типами даних . Однак, оскільки bash не є мовою програмування загального призначення, а радше інтерпретатором командного рядка, він має

Детальніше →

Як вставити бінарний файл у сценарій оболонки bash

Ви коли-небудь були в ситуації, коли ви хотіли б включити двійковий файл у свій сценарій оболонки, перш ніж ділитися ним з іншими? Чому ви хочете це зробити? Наприклад, ви системний адміністратор ІТ-відділу вашої компанії, який підтримує користувачів Linux. Ви хочете, щоб користувачі могли встановити програмне забезпечення VPN компанії та налаштувати все необхідне на своєму робочому комп’ютері, просто запустивши наданий вами сценарій оболонки. У цьому випадку ви створюєте tar-архів, який міст

Детальніше →

Як читати аргументи командного рядка в сценарії bash

Скрипт bash рідко працює автономно. Навпаки, ви часто передаєте один або кілька аргументів сценарію з командного рядка, щоб змінити його поведінку під час виконання. Потім сценарій читає надані аргументи, аналізує та обробляє їх відповідно. У більш складних випадках ви можете передати параметри командного рядка до свого сценарію (наприклад, "-h" або "-f my.txt"), щоб за бажанням змінити параметри сценарію за замовчуванням. У цьому підручнику давайте дізнаємося, як можна передавати арг

Детальніше →