Práce v terminálu – 8. kapitola
Dnes jak jsem avizoval se budeme věnovat oprávnění souborů, pojmem superuser a dalšími zajímavosti, které jsou charakteristické pro Unixový svět (mimochodem Microsoft ve svých Windows začal podobný systém také nasazovat). Jako vlastník souboru máte velmi snadno možnost ovlivnit, jestli může váš kolega na stejné pracovní stanici otevírat, případně upravovat, nebo jestli bude moct být spouštěn zdrojový kód aktivně, či pouze „ke čtení“ v textové formě. Je to Alfa a Omega zabezpeční, správná práva, dělají z Unixových stanic neprobořitelné zdi!
Pozn: Tato práva se nechají celkem pohodlně nastavovat v grafickém prostředí
Přehled o právech souborů
Jedná se o velmi známý příkaz rozšířený o přepínač. Zkuste si v nějaké složce spustit ls -l. Zde je jeden příklad:
celkem 12
-rw-r–r– 1 ondrej ondrej 1 dub 28 00:31 nakup.txt
-rwxr-xr-x 1 ondrej ondrej 96 dub 28 00:29 skript
drwxr-xr-x 2 ondrej ondrej 4096 dub 28 00:29 složka
Spoustu informací, vezmu to po sloupečcích. Pozn. V reálu to má i barvičky (zkuste si to)
Oprávnění – Odkazy – Vlastník – Skupina – Velikost – Datum úpravy – Jméno souboru
První znak označuje druh, zde d – directory (adresář). Viz tabulka!
Znak | Význam | Zkratka |
– | obyčejný soubor | – |
b | soubor blokového zařízení | block device |
c | soubor znakového zařízení | character device |
d | adresář | directory |
l | symbolický odkaz | symbolic link |
p | pojmenovaná roura | named pipe |
s | unixový socket | unix socket |
Další znaky již ovlivňují samotné oprávnění, zde je klíč.
Oprávnění se dělí na 3 druhy:
r – Read (číst)
w – Write (zapisovat, resp. Upravovat)
x – eXecute (provádět, spouštět)
„-“ pomlčka označuje neudělené oprávnění
Oprávnění se nám podaří snadno rozklíčovat, pokud si ho znovu dáme do sloupečků.
drwxr-xr-x 2 ondrej ondrej 4096 dub 28 00:29 složka
Typ | Vlastník | Skupina | Zbytek světa |
D | rwx | r-x | r-x |
Čti: „Adresář, do nějž smí vlastník zapsat, či číst (popř. spustit, což je irelevantní u adresáře), skupina může číst (a spouštět) a zbytek světa také číst (a spouštět).
Další informaci, které nám řádek z ls –l poskytne je skupina a vlastník ( v řádku výše tučně). Ovšem, než to začneme řešit, kdo vlastně jsem. Pokud si nejste jisti uživ. Jménem, zadejte „whoami“. Informace o skupinách, jejichž jste členem získáte přes příkaz „id“. Výstup z „id“ vypadá lépe, když ho zadáte jako – „id -G -n“. Tedy ve výpisu ls -l je to v pořadí vlastník, skupina.
(Ne)omezujeme práva!
Tedy co musím udělat, abych změnil práva na nějaký soubor? Slouží k tomu příklad chmod. Předvedu na příkladu.
ondrej@ondrej-Lenovo-IdeaPad-Y570 ~/test $ ls -l
celkem 4
-rw-r—– 1 ondrej ondrej 1 dub 28 00:58 soubor
Tedy co jsem napsal?
u=práva uživatele, vlastníka (z ang. user, uživatel), tedy může zapsat a číst
g=práva skupiny určené v „ls -l“
o=práva ostatních, zde žádná práva nemají
Lze zkracovat, třeba na chmod ug=rw,o=r soubor*, tedy vlastník i skupina dostane přidělená oprávnění najednou.
Druhy zápisu práv
Běžný zápis
Bitový zápis
Převod do 8 soustavy
Převedeno
Tedy chmod u=rwx,g=rw,o=r lze zapsat chmod 764! A to je zjednodušení celkem podstatné, že? Poznámka, pokud použijete přepínač -v vypíše se u každého souboru nová práva, totéž i přepínač -c, ale pouze v případě, že se práva změnila.
Předávání kontroly nad soubory
O souborech tedy rozhoduje hlavně vlastník, jak ale vlastníka změnit? Slouží k tomu jednoduchý příkaz chown. Název pochází z anglického change owner, tedy změnit vlastníka. Syntaxe je snadná, tedy:
Popřípadě lze i změnit skupinu, odděluje se od jména dvojtečkou
chown vlastnik:skupina soubor
Místo jmen lze také použít identifikátory uživatele (UID), či skupiny (GID). Skupinu lze měnit také samostatný příkazem chgrp (change group).
Příště? Příště si myslím, že proberem systém uživatelů a skupiny, to jsem si při dnešním psaní uvědomil, že jsem vůbec nenačal. Takže to mám jako rest. A další věc, chci začít dělat větvení, tedy IF, FOR cykly, atd. Tedy už si uděláme nějaký komplexnější skript, tak aby to „k něčemu“ bylo, pokud jste četli všechny díly. Omlouvám se za zpoždění a celkem krátký článek