Linux se od Windows z hlediska spouštění souborů liší tím, že první systém definuje spustitelné soubory jako programové soubory nikoli podle jejich přípony, ale podle speciálního příznaku spustitelnosti. Každý soubor má tedy tři režimy spustitelnosti: čtení, spuštění a zápis. Právě tyto režimy určují, co může systém s konkrétním souborem dělat. Když uživatel stahuje různé instalační programy z internetu nebo vytváří skript, jsou mu ve výchozím nastavení přiřazeny tyto režimy: čtení a zápis. Stručně řečeno, uživatel nebude moci s takovým programem nic dělat, protože s ním musí být provedeno něco jiného.
Nejprve bychom se však měli zabývat takovou otázkou, jako je: co je spustitelnost a co obecně znamená? Začněme programem, což je soubor instrukcí, které procesor provádí nad souborem dat, aby získal požadovaný výsledek. Pro procesor není mezi instrukcemi a daty žádný rozdíl.
Jak první, tak druhá se skládají z číslic - bajtů. To znamená, že určitá kombinace číslic bude pro procesor znamenat potřebu provést určitou akci. Pro procesor není zásadní rozdíl v tom, jaký proces má provést - data operačního systému nebo textový soubor. Provede se jak první, tak druhý proces, s tím rozdílem, že v případě textového souboru vlastně odpadá potřeba instrukcí.
Příznaky spustitelnosti byly vymyšleny proto, aby systém pochopil, které instrukce se mají vykonat a které ne. Ve skutečnosti se obsah v závislosti na nastavené třídě spustitelnosti nijak nemění - rozdíl se omezuje pouze na několik řádků. U skriptů vše funguje stejně, ale příkazy nevykonává procesor, ale interpret, například u skriptů bash samotný shell bash. Běžné programy mají také svůj vlastní zavaděč - je to ld-linux.so.2.
Systém Linux má speciální nástroj umožňující správu příznaků, který se nazývá chmod
. Chcete-li tuto utilitu vyvolat, musíte zavolat syntaxi:
$ chmod category action flag file_address
A zde je třeba vzít v úvahu následující:
Příznak - jeden z dostupných příznaků -
r
(read),w
(write),x
(execute).Kategorie - lze nastavit pro tři kategorie: vlastník souboru, skupina dat a všichni ostatní uživatelé. V příkazu jsou označeny písmeny
u
(user),g
(group), resp.o
(other).Akce - může být + (plus), což by znamenalo nastavení příznaku, nebo - (minus) odstranění příznaku.
Aby tedy byl skript v Linuxu spustitelný, musí uživatel provést:
$ chmod u+x file_address
Často to již stačí k tomu, aby byl spustitelný, ale pokud je třeba, aby ostatní uživatelé měli oprávnění tyto soubory spouštět, je třeba přidat další:
$ chmod ugo+x file_address
Pro jejich zobrazení v terminálu stačí použít nástroj ls:
$ ls -l file_directory
Příznaky jsou zahrnuty pro všechny kategorie. První rwx
jsou příznaky vlastníka, druhé jsou příznaky skupiny a třetí jsou pro všechny ostatní. Pokud není nastaven, nahradí jej pomlčka.
Zrušení nastavení spustitelného příznaku je velmi snadné. Používá se stejný příkaz, pouze se znaménkem minus:
$ chmod u-x file_address
Dále se věnujme problematice nastavení spravovatelnosti v grafickém uživatelském rozhraní.
Pro začátečníky bude tento návod jednodušší. Jako příklad si vezměme správce prostředí GNOME, Nautilus. Klepnutím pravým tlačítkem myši na náš objekt programu nebo skriptu otevřeme kontextovou nabídku a vybereme možnost Vlastnosti:
Přejděte na kartu oprávnění a zaškrtněte políčko "Povolit spuštění souboru jako programu":
Nyní jej systém spustí přímo ze správce. To je celý návod. Nyní již nebudete mít žádné potíže se spouštěním programu nebo skriptu z internetu.