Přihlásit | Registrovat

Prohlížení atributů, práv pro soubor(y), adresář(e) v příkazové řádce.

ls -lh

Vypíše atributy všech souborů i adresářů v aktuálním adresáři.

Termín "atribut souboru"

Pokusím se o definici, vyjasnění tohoto pojmu.

Atribut je jednobitová informace o souboru, která určuje jednu jeho vlastnosti, jak s daným souborem pracovat.

Existují atributy :

  • čtení - označuje se zkráceně písmenem „r“ podle anglického slova „read“
  • zápisu - označuje se zkráceně písmenem „w“ podle anglického slova „write“
  • spouštění - označuje se zkráceně písmenem „x“podle anglického slova „execute“
  • adresář - označuje se zkráceně písmenem „d“ podle anglického slova „directory“


Atribut „r“ určuje, že soubor lze číst.
Atribut „w“ určuje, že do souboru lze zapisovat, tedy i přejmenovat ho, nebo smazat.
Atribut „x“ určuje, že lze tento soubor spustit jako program.
Atribut „d“ určuje, že soubor je adresářem.

Atribut „r“, „w“, nebo „x“ se v linuxu může vztahovat ke jménu uživatele, který soubor vytvořil (tzv. vlastník); dále se tentýž atribut může vztahovat ke jménu nějaké skupiny uživatelů; a nebo ke všem ostatním uživatelům.

Kombinace atributu a ke komu se atribut vztahuje dává termín práva. Jestliže majitel souboru má atribut k zápisu do souboru, pak vlastně mluvíme o tom, že má právo zapisovat do tohoto souboru, nebo mněnit jeho obsah, nebo ho dokonce i smazat.

Popis příkazu pro nastavení atributů.

Pro nastavování atributů se používá příkaz chmod
Anglický manuál se vyvolá pomocí příkazu

man chmod

Možnosti jak nastavovat atributy, práva k souborům :

1. Příkaz chmod s osmičkovou strukturou.

Tento způsob umožňuje jen přesné nastavení práv, atributů pro soubor(y), adresář(e). Je to také nejsnažší způsob změny práv.
Následující příklad ukazuje jak nastavit pro soubor obrazek.jpg práva uživatele číst, mněnit, spouštět; skupině právo čtení, zápisu; ostatním jen právo tento soubor číst :

chmod 764 obrazek.jpg

Přitom první číslice (v našem případě číslice 7) vyjadřuje práva uživatele, druhá číslice (6) vyjadřuje práva skupiny a třetí číslice (4) vyjadřuje práva ostaních.
Jednotlivé číslice pak vyjadřují tyto práva :
* 0 = žádná práva * 1 = právo spouštění * 2 = právo zápisu * 3 = právo spouštění a zápisu * 4 = právo právo čtení * 5 = právo spouštění a čtení * 6 = právo čtení a zápisu * 7 = právo spouštění, zápisu a čtení
V uvedeném příkladu má tedy majitel souboru všechna práva povolena, může soubor číst, zapisovat i spouštět. Skupina má povolené právo ke čtení a zápisu, ale právo ke spouštění má zakázáno. Ostatní uživatelé mají povoleno právo ke čtení a zakázáno právo na zápis a spouštění.
POZOR!!! Tento příkaz bude fungovat, jen pokud jej spouští uživatel, který je vlastníkem souboru obrazek.jpg.

2. Příkaz chmod s mnemotechnickými výrazy

Předchozí příklad lze vykonat se zcela stejným výsledkem také takto :

chmod ug=rwx,o=r obrazek.jpg

V tomto zápisu se používají určité písmena („u“, „g“, „o“, „r“, „w“, „x“) a znaky (“=“, “+“, “-“).
Nejprve se uvádí písmeno, které určuje pro koho jsou práva nastavovány :
* uživatel, majitel - u (user) * skupina - g (group) * ostatní - o (other) poté znak operace vyjadřující způsob nastavování práv :
* “=“ přímo nastavuje určitá práva * “+“ přidá právo, pokud nebylo nastaveno * “-“ odebere právo, pokud bylo nastaveno a písmeno označující jaká práva se budou nastavovat :
* právo ke čtení - r (z anglického Read) * právo k zápisu - w (Write) * právo ke spouštění - x (eXecute) * právo od někoho (viz. dále)
POZOR!!! Výhoda tohoto zápisu je právě v operacích, které lze tímto způsobem s právy dělat. Viz. dále.

Jak přesně nastavit práva.

Následující příklad nastaví pro soubor obrazek.jpg práva tak, že uživatel může číst, zapisovat, spouštět; skupina může jen čtení; a ostatní nemohou soubor obrazek.jpg ani číst :

chmod 740 obrazek.jpg

Jiný způsob by byl :

chmod u=rwx,g=r,o= obrazek.jpg

Jak přidávat práva.

Např. potřebuji jen přidat právo zápisu pro skupinu do souboru obrazek.jpg.

chmod g+w obrazek.jpg

Jiná práva zůstanou tak jak byly. Tedy u souboru obrazek.jpg se nezmění žádná práva ani pro majitele souboru obrazek.jpg, ani práva pro ostatní uživatele. Stejně tak se nezmění u skupiny práva čtení a spouštění. Toho nelze při tzv. osmičkovém zápisu dosáhnout.

Jak kopírovat práva.

Nebo zajímavá možnost kopírovat práva. Např. nastavit taková práva jaké má uživatel, aby měli stejná práva i ostatní.

chmod o=u obrazek.jpg


Jak kopírovat práva ze souboru.

Nebo možnost kopírovat práva z jiného souboru. Např. nastavit práva pro soubor obrazek.jpg podle toho, jaké práva má soubor popisobrazku.txt.

chmod -reference=popisobrazku.txt obrazek.jpg



Speciální atributy souborů

(použijte “+“ pro nastavení a “-“ pro odebrání práv)

chattr

chattr +a file1 nastaví souboru zápis pouze pro přidávání
chattr +c file1 dovolí, aby byl soubor automaticky komprimován / dekomprimován jádrem systému
chattr +d file1 nastaví soubor pro vynechání ze zálohování pomocí programu Dump
chattr +i file1 nastaví soubor jako neměnný (nemůže být odstraněn, upraven, přejmenován a ani na něj není možné vytvořit odkaz)
chattr +s file1 nastaví souboru bezpečné mazání
chattr +S file1 nastaví zapsání změn souboru v synchronním módu pomocí sync
chattr +u file1 nastaví souboru možnost být obnoven

lsattr

lsattr zobrazí speciální atributy

Mandriva Wiki
system/prikazovy_radek/atributy_soubory.txt · Poslední úprava: 2011/01/29 18:24 autor: petos