Metody płatności Abuse

Tworzenie pliku wykonywalnego w systemie Linux

06.03.2021, 20:51

To, co odróżnia Linuksa od Windowsa pod względem wykonywania plików, to fakt, że ten pierwszy system definiuje pliki wykonywalne jako pliki programów nie przez ich rozszerzenie, ale przez specjalną flagę wykonywalności. Tak więc każdy plik ma trzy tryby wykonywalności: odczyt, wykonanie i zapis. To właśnie te tryby określają, co system może zrobić z danym plikiem. Gdy użytkownik pobiera różne instalatory z Internetu lub tworzy skrypt, domyślnie przypisywane są mu następujące tryby: odczytu i zapisu. Krótko mówiąc, użytkownik nie będzie w stanie nic zrobić z takim programem, ponieważ trzeba zrobić z nim coś innego.

Co oznacza wykonywalność?

Przede wszystkim jednak powinniśmy odpowiedzieć sobie na pytanie: czym jest wykonywalność i co ona w ogóle oznacza? Zacznijmy od programu, który jest zestawem instrukcji wykonywanych przez procesor na zestawie danych w celu uzyskania pożądanego rezultatu. Dla procesora nie ma różnicy między instrukcjami a danymi.

Zarówno te pierwsze, jak i drugie składają się z cyfr - bajtów. Oznacza to, że pewna kombinacja cyfr oznacza dla procesora konieczność wykonania określonej czynności. Dla procesora nie ma zasadniczej różnicy, który proces należy wykonać - dane systemu operacyjnego czy plik tekstowy. Zarówno pierwszy, jak i drugi zostanie wykonany, z tym wyjątkiem, że w przypadku pliku tekstowego potrzeba instrukcji jest faktycznie wyeliminowana.

Flagi wykonywalności zostały wymyślone, aby system mógł zrozumieć, które instrukcje powinny zostać wykonane, a które nie. W rzeczywistości zawartość pliku nie zmienia się w żaden sposób w zależności od ustawionej klasy wykonywalności - różnica sprowadza się jedynie do kilku linijek. W przypadku skryptów wszystko działa w ten sam sposób, ale polecenia są wykonywane nie przez procesor, ale przez interpreter, na przykład w skryptach bash - przez samą powłokę bash. Zwykłe programy również mają swój własny program ładujący - jest to ld-linux.so.2.

Jak uczynić plik wykonywalnym

System Linux posiada specjalne narzędzie, które pozwala na zarządzanie flagami, które nazywa się chmod. Aby wywołać to narzędzie, należy wywołać składnię:

$ chmod category action flag file_address

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

I tutaj należy wziąć pod uwagę następujące kwestie:

Flaga - jedna z dostępnych flag - r (odczyt), w (zapis), x (wykonanie).

Kategoria - może być ustawiona dla trzech kategorii: właściciela pliku, grupy danych i wszystkich innych użytkowników. W poleceniu są one oznaczone odpowiednio przez u (użytkownik) g (grupa) o (inny).

Akcja - może być + (plus), co oznacza ustawienie flagi lub - (minus) usunięcie flagi.

Tak więc, aby skrypt był wykonywalny w Linuksie, użytkownik musi go wykonać:

$ chmod u+x file_address

Często jest to już wystarczające, aby uczynić go wykonywalnym, ale jeśli inni użytkownicy muszą być upoważnieni do wykonywania tych plików, należy dodać więcej:

$ chmod ugo+x file_address

Aby zobaczyć je w terminalu, wystarczy użyć narzędzia ls:

$ ls -l file_directory

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

Flagi są uwzględnione dla wszystkich kategorii. Pierwsze rwx to flagi właściciela, drugie to flagi grupy, a trzecie są dla wszystkich innych. Jeśli nie jest ustawiona, jej miejsce zajmie myślnik.

Usunięcie flagi wykonywalnej jest bardzo proste. Używa się tego samego polecenia, tylko ze znakiem minus:

$ chmod u-x file_address

Następnie rozważmy kwestię ustawienia zarządzalności w GUI.

Jak ustawić flagę wykonywalności w GUI

Dla początkujących ta instrukcja będzie łatwiejsza. Jako przykład weźmy menedżera GNOME, Nautilus. Kliknij prawym przyciskiem myszy nasz program lub obiekt skryptu, aby otworzyć menu kontekstowe, a następnie wybierz właściwości:

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

Przechodzimy do zakładki uprawnienia i zaznaczamy "Zezwalaj na uruchamianie pliku jako programu":

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

Teraz będzie on uruchamiany przez system bezpośrednio z menadżera. To cała instrukcja. Teraz nie będziesz miał żadnych trudności z uruchomieniem programu lub skryptu z Internetu.