Способи оплати Abuse

Робимо файл виконуваним у Linux

06.03.2021, 20:51

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

Що означає виконуваність?

Але для початку потрібно розібратися з таким питанням, як: що таке виконуваність і що це взагалі означає? Почнемо з програми, яка є набором інструкцій, що виконуються процесором над сукупністю даних з метою отримання потрібного результату. Для процесора не існує різниці між інструкціями і даними.

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

Для розуміння системою, які мають бути виконані за інструкцією, а які виконувати не потрібно, і були придумані прапори виконуваності. Фактично вміст ніяк не змінюється залежно від встановленого класу виконуваності - відмінність зводиться тільки до кількох рядків. Зі скриптами все працює так само, тільки команди виконує не процесор, а інтерпретатор, наприклад, у bash скриптах - сама оболонка bash. Та й у звичайних програм теж є свій завантажувач - це ld-linux.so.2.

Як зробити файл виконуваним

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

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

І тут необхідно враховувати таке:

Прапор - один із доступних - r (читання), w (запис), x (виконання).

Категорія - можуть встановлюватися для трьох категорій: власника файлу, групи даних і всіх інших користувачів. У команді вони вказуються символами u (user) g (group) o (other) відповідно.

Дія - може бути + (плюс), що означатиме встановити прапор або - (мінус) зняти прапор.

Таким чином, щоб зробити виконуваним скрипт у Linux, користувачеві необхідно виконати:

$ chmod u+x file_address

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

$ chmod ugo+x file_address

Щоб подивитися їх у терміналі, достатньо скористатися утилітою ls:

$ ls -l file_directory

Посмотреть флаги в терминале можно с помощью утилиты ls

Прапори ввімкнено для всіх категорій. Перше rwx - прапори власника, друге - групи, а третє - для всіх інших. Якщо його не встановлено, на його місці буде прочерк.

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

$ chmod u-x file_address

Далі розглянемо питання встановлення керованості в GUI.

Як встановити прапор виконуваності в GUI

Для новачків ця інструкція виявиться простішою. Розглянемо на прикладі менеджера GNOME, Nautilus. Клацніть правою кнопкою на нашому об'єкті програми або скрипта, щоб відкрити контекстне меню, потім виберіть властивості:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

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

Разрешить выполнение файла как программы:

Тепер він буде запущений системою безпосередньо з менеджера. Ось і вся інструкція. Тепер із запуском програми або скрипта з інтернету у вас не виникне труднощів.