A Linux a fájlok futtatása szempontjából abban különbözik a Windowstól, hogy az előbbi rendszer a futtatható fájlokat nem a kiterjesztésük, hanem egy speciális futtathatósági jelző alapján határozza meg programfájlként. Így minden fájlnak három futtathatósági módja van: olvasás, végrehajtás és írás. Ezek az üzemmódok határozzák meg, hogy a rendszer mit tehet egy adott fájlal. Amikor egy felhasználó különböző telepítőket tölt le az internetről, vagy készít egy szkriptet, alapértelmezés szerint a következő módokat kapja: olvasás és írás. Röviden, a felhasználó semmit sem tud majd csinálni egy ilyen programmal, mivel valami mást kell vele csinálni.
De először is foglalkozzunk egy olyan kérdéssel, mint: mi az a futtathatóság, és mit jelent általában? Kezdjük egy programmal, amely egy utasításkészlet, amelyet egy processzor hajt végre egy adathalmazon, hogy a kívánt eredményt elérje. A processzor számára nincs különbség az utasítások és az adatok között.
Mind az előbbiek, mind az utóbbiak számjegyekből - bájtokból - állnak. Vagyis a számjegyek egy bizonyos kombinációja jelzi a processzor számára, hogy egy bizonyos műveletet kell végrehajtani. A processzor számára nincs alapvető különbség, hogy melyik folyamatot kell végrehajtani - az operációs rendszer adatait vagy egy szöveges fájlt. Mind az első, mind a második végrehajtásra kerül, azzal a különbséggel, hogy egy szöveges fájl esetében az utasítások szükségessége ténylegesen megszűnik.
A futtathatósági jelzőket azért találták ki, hogy a rendszer megértse, mely utasításokat kell végrehajtani, és melyeket nem. Valójában a tartalom semmilyen módon nem változik a beállított futtathatósági osztály függvényében - a különbség csak néhány sorra csökken. A szkripteknél minden ugyanúgy működik, csak a parancsokat nem a processzor, hanem egy értelmező hajtja végre, például a bash szkripteknél - maga a bash shell. A normál programoknak is van saját betöltőjük - ez az ld-linux.so.2.
A Linux rendszernek van egy speciális segédprogramja, amely lehetővé teszi a zászlók kezelését, ennek neve chmod
. Ennek a segédprogramnak a meghívásához a szintaxist kell meghívni:
$ chmod category action flag file_address
És itt a következőket kell figyelembe venni:
Flag - a rendelkezésre álló flagek egyike -
r
(olvasás),w
(írás),x
(végrehajtás).Kategória - három kategóriára lehet beállítani: a fájl tulajdonosa, az adatcsoport és az összes többi felhasználó. A parancsban ezeket az
u
(user)g
(group)o
(other) jelöli.Action - lehet + (plusz), ami a jelző beállítását jelenti, vagy - (mínusz) a jelző eltávolítását.
Tehát ahhoz, hogy egy szkript Linuxon futtathatóvá váljon, a felhasználónak kell végrehajtania:
$ chmod u+x file_address
Gyakran már ez is elég ahhoz, hogy futtathatóvá tegye, de ha más felhasználóknak is engedélyezni kell, hogy ezeket a fájlokat futtassák, akkor többet kell hozzáadni:
$ chmod ugo+x file_address
Ahhoz, hogy a terminálban lássuk őket, használjuk az ls segédprogramot:
$ ls -l file_directory
A jelzők minden kategóriában szerepelnek. Az első rwx
a tulajdonosi zászlók, a második a csoportos zászlók, a harmadik pedig az összes többi. Ha nincs beállítva, egy kötőjel veszi át a helyét.
A futtatható zászló visszaállítása nagyon egyszerű. Ugyanezt a parancsot használjuk, csak mínusz jellel:
$ chmod u-x file_address
Ezután nézzük meg a kezelhetőség beállításának kérdését a GUI-ban.
Kezdők számára ez az utasítás könnyebb lesz. Vegyük példának a GNOME kezelőjét, a Nautilust. Kattintsunk a jobb gombbal a programunk vagy szkriptünk objektumára, hogy megnyíljon a kontextusmenü, majd válasszuk a Tulajdonságok menüpontot:
Menjünk az engedélyek fülre, és jelöljük be a "Engedélyezzük a fájl programként való futtatását" jelölőnégyzetet:
Mostantól a rendszer közvetlenül a kezelőből fogja elindítani. Ennyi az egész utasítás. Mostantól nem lesz nehézsége egy program vagy szkript indításával az internetről.