Často si z internetu stáhnete soubor, který by měl být spustitelný, ale není. Je tedy nutno jej spustitelným učinit. Jak na to?
DŮLEŽITÉ: K této změně musíte disponovat právy vlastnictví. Vždy to můžete provést jako root.
Nejsnažší změnou práv je použití oktálové (osmičkové) struktury, kdy se zadá:
chmod XXX soubor
První X
zastupuje práva uživatele, druhé práva skupiny, třetí práva ostaních.
Každé X
se nahradí jedním číslem od 0
do 7
:
Pokud jde o práva ke spouštění, pak:
0
= žádná práva1
= právo spouštění2
= právo zápisu3
= právo spouštění a zápisu4
= právo právo čtení5
= právo spouštění a čtení6
= právo čtení a zápisu7
= právo spouštění, zápisu a čtení Například:
chmod 751 program.run
V tomto případě bude nastaveno:
7
= může spouštět, zapisovat i číst5
= může spouštět a číst1
= mohou jen spouštětDŮLEŽITÉ: K této změně musíte disponovat právy vlastnictví. Vždy to můžete provést jako root.
Podobné je to s právy u adresářů (přesněji adresářových souborů).
chmod
lze použít i rekurzivně, tzn. že nastaví práva i v podřízených adresářích. Slouží k tomu přepínač -R
, tedy
chmod -R 751 *.run
změní práva všech souborů s příponou .run
také ve všech podadresářích.
Tento způsob nastavuje práva „natvrdo“. Je také možné změnit jen jednu z položek práv pomocí mnemotechnických výrazů. Práva jsou označena takto:
-r
(z anglického Read)-w
(Write)-x
(eXecute)-u
(user)-g
(group)-o
(other)Příkaz pak vypadá například takto:
chmod u+w
přidá vlastníkovi souboru právo zápisuchmod g-w
odebere skupině právo zápisuchmod ug=rw,o=r
dává uživateli a skupině právo číst a zapisovat, ostatním jen čístchmod g=u
nastaví oprávnění skupiny na stejné hodnoty jako je oprávnění majitele
Příkaz chmod
lze využít i ke „zkopírování“ práv mezi soubory:
chmod -reference=soubor_a soubor_b
- nastaví pro soubor_b
stejná práva, jako má soubor_a