Příkazy Ubuntu chmod. Chmod: změnit oprávnění

V naší dokumentaci umaskovat příkaz. Obsahuje komplexní popis, jak definovat a specifikovat oprávnění k souboru.

Obecně, chmod příkazy mají tvar:

Chmod možnosti oprávnění název souboru

Jestli ne možnosti jsou specifikovány, chmod upravuje oprávnění souboru určeného pomocí název souboru na oprávnění určená oprávnění.

oprávnění definuje oprávnění pro vlastníka souboru ("uživatel"), členy skupiny, kteří soubor vlastní ("skupina"), a kohokoli jiného ("ostatní"). Existují dva způsoby, jak vyjádřit tato oprávnění: pomocí symbolů (alfanumerické znaky) nebo pomocí osmičkových čísel (číslice 0 přes 7 ).

Řekněme, že jste vlastníkem souboru s názvem můj soubor a chcete nastavit jeho oprávnění tak, aby:

  1. a u ser může r ead, w rituál a e X provést to;
  2. členové vašeho G roup může r ead a e X provést to; a
  3. Ó mohou pouze r přečti si to.

Tento příkaz udělá trik:

Chmod u = rwx, g = rx, o = r myfile

Tento příklad používá symbolický zápis oprávnění. Dopisy u, G, a Ó stát za" uživatel", "skupina", a" jiný". Znak rovná se (" = ") znamená" nastavit oprávnění přesně takto, "a písmena" r", "w", a" X"stand for" read "", write ", a" execute ", v tomto pořadí. Čárky oddělují různé třídy oprávnění a mezi nimi nejsou žádné mezery.

Zde je ekvivalentní příkaz používající osmičkovou notaci oprávnění:

Chmod 754 myfile

Tady jsou číslice 7 , 5 , a 4 každý jednotlivě představuje oprávnění pro uživatele, skupinu a další v uvedeném pořadí. Každá číslice je kombinací čísel 4 , 2 , 1 , a 0 :

  • 4 znamená "číst",
  • 2 znamená "psát",
  • 1 znamená "provést" a
  • 0 znamená „žádné povolení“.

Tak 7 je kombinace oprávnění 4 +2 +1 (číst, zapisovat a spouštět), 5 je 4 +0 +1 (čtení, žádný zápis a provádění) a 4 je 4 +0 +0 (čtení, žádný zápis a žádné provádění).

Syntax

chmod [ VOLBA]... MODE[,MODE]... SOUBOR... chmod [ VOLBA]... OCTAL-MODE SOUBOR... chmod [ VOLBA] ... --reference = RFILE SOUBOR...

Možnosti

-C, --Změny

Jako -- podrobné, ale poskytuje podrobný výstup pouze v případě, že je skutečně provedena změna.

-F, --tichý, --klid

Tichý režim; potlačit většinu chybových zpráv.

-proti, -- podrobné

Podrobný režim; vygeneruje diagnostickou zprávu pro každý zpracovaný soubor.

--no-preserve-root

Zobrazte zprávu nápovědy a ukončete.

Vlastník souboru.

naděje

Skupina, do které soubor patří.

3. února 15:36

Soubor "s mtime (datum a čas, kdy byl soubor naposledy upraven).

soubor.txt

Název souboru.

Příklady

chmod 644 soubor.htm

Nastavte oprávnění pro soubor.htm na "vlastník může číst a zapisovat; skupina může pouze číst; ostatní mohou pouze číst".

Chmod -R 755 myfiles

Rekurzivně ( -R) Změňte oprávnění adresáře mé soubory a všechny složky a soubory, které obsahuje, do režimu 755 : Uživatel může číst, zapisovat a spouštět; členové skupiny a ostatní uživatelé mohou číst a spouštět, ale nemohou zapisovat.

Chmod u = rw příklad.jpg

Změňte oprávnění pro vlastníka example.jpg aby vlastník mohl číst a zapisovat soubor. Neměňte oprávnění pro skupinu ani pro ostatní.

Chmod u + s comphope.txt

Nastavte bit "Set-User-ID". comphope.txt, takže každý, kdo se pokusí získat přístup k tomuto souboru, tak činí, jako by byl vlastníkem souboru.

Chmod u-s comphope.txt

Opak výše uvedeného příkazu; zruší nastavení bitu SUID.

Chmod 755 soubor.cgi

Nastavte oprávnění pro soubor.cgi na „čtení, zápis a spouštění vlastníkem“ a „čtení a spouštění skupinou a všemi ostatními“.

Chmod 666 soubor.txt

Nastavte oprávnění pro soubor.txt„číst a psát každý“.

Chmod a = rw soubor.txt

Dosahuje stejné věci jako výše uvedený příkaz pomocí symbolického zápisu.

Související příkazy

chown- Změňte vlastnictví souborů nebo adresářů.
getfacl- Zobrazení seznamů řízení přístupu k souborům.
ls- Seznam obsahu adresáře nebo adresářů.

Změňte oprávnění souboru

Syntax:

chmod[-fv] [-R [-H | -L | -P]] soubor režimu ... chmod[-fv] [-R [-H | -L | -P]] [-a | + a | = a] soubor ACE ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] soubor ...

Možnosti:

-R Rekurze. Používá se pro složky. Změní práva nejen pro zadaný objekt, ale pro všechny v něm vnořené
-R -H Sledujte symbolické odkazy příkazový řádek... Ve výchozím nastavení se symbolické odkazy nezpracovávají
-R -L Všechny symbolické odkazy budou zpracovány
-R -P Strom odkazů nebude zpracován. Výchozí parametr.
-proti Mnohomluvné. Zobrazí všechny soubory, které se změnily
-v -v velmi podrobný režim. Stará a nová práva se zobrazí v osmičkovém (numerickém) a abecedním zobrazení
-F nezobrazovat diagnostické zprávy, pokud není možné změnit přístupová práva k souboru
ACL_Option(ACL – seznamy řízení přístupu pro skupiny uživatelů) ACL_manipulation_options

Přístupová práva:

Přístupová práva lze zadat v abecedním kódu nebo číselně na základě osmičkový systém zúčtování

Ovládání digitální indikací přístupových práv:

Ke správě práv se používají tři bity

  • první je právo číst
  • druhým je právo psát
  • třetí - právo na exekuci
Kousek po kousku Číslo Písmenný kód popis práva
000 0 žádná práva
001 1 právo pouze na plnění
010 2 správně jen psát
011 3 práva na nahrávání a provozování
100 4 právo pouze pro čtení
101 5 právo číst a vykonávat
110 6 oprávnění ke čtení a zápisu bez provedení
111 7 všechna práva

Taková oprávnění k souboru jsou nastavena pro tři typy přístupu:

  • pro majitele
  • pro skupinu
  • pro ostatní

V důsledku toho příkaz vypadá takto:

$ chmod 444 soubor - právo pouze pro čtení pro každého

$ chmod 755 soubor - vlastník má všechna práva (7), ostatní uživatelé jsou pouze číst a spouštět (5)

$ chmod 066 soubor - vlastník nemá žádná práva k souboru (0), všechna ostatní práva pro čtení a zápis bez provedení

Správa pomocí doslovného označení přístupových práv:

Formát pro specifikaci práv pomocí symbolického kódu

[kdo ...] [[+ - =] [práva ...] ...] [, ...]

SZO je kombinací znaků "ugoa" ukazující na uživatelů jehož oprávnění k přístupu k souboru nebo složce budou změněna

  • u vlastníka uživatele
  • g uživatelská skupina
  • o ostatní uživatelé
  • a (all) for all, podobně jako ugo

Příkaz chmod se používá ke změně oprávnění k souborům nebo adresářům.

Na Linuxu a dalších Unixových operační systémy pro každý soubor existuje sada pravidel, která určují, kdo a jak může k tomuto souboru přistupovat. Tato pravidla se nazývají oprávnění k souborům nebo režimy souborů. Název příkazu chmod znamená „režim změny“ a používá se k určení způsobu přístupu k souboru.

Obecně příkazy chmod vypadají takto:

chmod možnosti oprávnění název_souboru

Li možnosti není zadáno, chmod změní oprávnění souboru uvedeného v název souboru, pro oprávnění uvedená v oprávnění.

Oprávnění určit přístupová práva pro vlastníka souboru ("uživatel"), členy skupiny, která soubor vlastní ("skupina"), a všechny ostatní ("ostatní"). Tato oprávnění lze vyjádřit dvěma způsoby: pomocí symbolů (alfanumerické znaky) nebo osmičkových čísel (čísla 0 až 7).

Řekněme, že vlastníte soubor s názvem myfile a chcete nastavit jeho oprávnění tak, aby:

  1. uživatel ( u ser) uměl číst ( rčíst), psát ( w obřad) a vykonám ( X ecute) it;
  2. členové skupiny ( G roup) umí číst ( r ead) a vykonat ( X ecute) it;
  3. stejně jako ostatní ( Ó thers) umí pouze číst ( rčíst) to.

Tento příkaz bude vypadat takto:

chmod u = rwx, g = rx, o = r myfile

Tento příklad používá pro oprávnění symbolický zápis. Písmena u, g a o znamenají uživatele, skupinu a další. Rovnítko ("=") znamená "nastavit oprávnění tímto způsobem" a písmena "r", "w" a "x" znamenají "číst", "zapisovat" a "provádět". Oddělte čárky různé třídy oprávnění a mezi nimi nejsou žádné mezery.

Zde je ekvivalentní příkaz používající osmičkovou notaci pro oprávnění:

chmod 754 myfile

Čísla 7, 5 a 4 zde jednotlivě představují oprávnění pro uživatele, skupinu a další v daném pořadí. Každá číslice je kombinací čísel 4, 2, 1 a 0:

  • 4 znamená "číst"
  • 2 znamená "psát",
  • 1 znamená "provést",
  • 0 znamená žádné povolení.

Takže 7 je kombinace oprávnění 4 + 2 + 1 (čtení, zápis a spouštění), 5 je 4 + 0 + 1 (čtení, žádný zápis a spouštění) a 4 je 4 + 0 + 0 (čtení, ne zapisovat a nespouštět).

Syntaxe Chmod

chmod ... MODE [, MODE] ... FILE ... chmod ... OCTAL-MODE FILE ... chmod ... --reference = RFILE FILE ...

Možnosti Chmod

-C, --Změny Jako --verbose, ale vytváří podrobný výstup pouze tehdy, když je skutečně provedena změna.

-F, --tichý, --klid Tichý mód; potlačit většinu chybových zpráv.

-proti, -- podrobné Podrobný režim; vytisknout diagnostickou zprávu pro každý zpracovaný soubor.

--no-preserve-root Nezpracovávejte "/" (kořenový adresář) žádným zvláštním způsobem, což je výchozí nastavení.

--preserve-root Nepracujte rekurzivně na "/".

--odkaz =RFILE Nastavte oprávnění tak, aby odpovídala oprávněním souboru RFILE, ignorujte jakýkoli zadaný MODE.

-R, --rekurzivní Změňte soubory a adresáře rekurzivně.

--Pomoc Zobrazit zprávu nápovědy a odejít.

--verze Vytiskněte informace o verzi a ukončete.

Technický popis

chmod změní režim souboru každého zadaného FILE tak, aby odpovídal MODE, což může být buď symbolická reprezentace prováděných změn, nebo osmičkové číslo představující bitový vzor pro bity v novém režimu.

Formát symbolického režimu:

[[+-=]...]

kde perms je nula nebo více písmen z množiny r, w, x, X, s a t nebo jedno písmeno z množiny u, g a o. Lze zadat více režimů znaků oddělených čárkami.

Kombinace písmen u, g, o a ovládacích prvků, které změní přístup uživatele k souboru: uživatel, který jej vlastní (u), ostatní uživatelé ve skupině souboru (g), ostatní uživatelé, kteří nejsou ve skupině souboru (o) nebo všichni uživatelé (a). Pokud není zadáno nic z toho, efekt bude, jako by bylo dáno a, ale bity, které byly nastaveny v umasku, nebyly ovlivněny.

Operátor (+) způsobí, že vybrané bity režimu souboru budou přidány k existujícím bitům režimu souboru každého souboru; "-" způsobí jejich vymazání; a "=" způsobí jejich přidání a odebere nezmíněné bity, kromě toho, že neovlivní nemodifikovatelné bity adresáře nastavené uživatelem a ID skupin.

Písmena r, w, x, X, sat vybírají bity režimu souboru pro dotčené uživatele: číst (r), zapisovat (w), spouštět (x), spouštět pouze v případě, že soubor je adresář nebo již má oprávnění ke spuštění pro některého uživatele (X) nastavení ID uživatele nebo skupiny na spuštění (s), příznak omezeného odstranění nebo pevný bit (t). U adresářů určují volby spuštění X a X oprávnění k zobrazení obsahu adresáře.

Místo jednoho nebo více těchto písmen můžete zadat jedno z písmen u, g nebo o: oprávnění udělená uživateli, který vlastní soubor (u), oprávnění udělená ostatním uživatelům, kteří jsou členy skupiny souboru (g ) a oprávnění udělená uživatelům, kteří nespadají do žádné ze dvou předchozích kategorií (o).

Numerický režim - Jedna až čtyři osmičkové číslice (0-7) získané sečtením bitů s hodnotami 4, 2 a 1. Předpokládá se, že chybějící číslice jsou úvodní nuly. První číslice vybírá zadané ID uživatele (4) a zadané ID skupiny (2) a atributy omezeného mazání nebo lepení (1). Druhá číslice vybírá přístupová práva pro uživatele, který vlastní operace čtení (4), zápisu (2) a provádění (1); třetí vybere přístupová práva pro ostatní uživatele ve skupině souborů se stejnými hodnotami; a čtvrtý pro ostatní uživatele mimo skupinu souborů se stejnými hodnotami.

chmod nikdy nemění oprávnění pro symbolický odkaz; systémové volání chmod nemůže změnit jejich oprávnění. Ale to není problém, protože symbolická oprávnění k propojení se nikdy nepoužívají. Pro každý symbolický odkaz zadaný na příkazovém řádku však chmod změní oprávnění k určenému souboru. Na rozdíl od toho chmod ignoruje symbolické odkazy na které narazí během rekurzivního procházení adresářů.

Setuid a Setgid bity

chmod vymaže bit set-group-ID běžného souboru, pokud ID skupiny souboru neodpovídá skutečnému ID skupiny uživatele nebo jednomu z ID doplňkové skupiny uživatele, pokud uživatel nemá příslušná oprávnění. Další omezení může způsobit, že bity set-user-ID a set-group-ID v MODE nebo RFILE budou ignorovány. Toto chování závisí na zásadách a funkčnosti hlavního systémového volání chmod. V případě pochybností zkontrolujte chování systému.

chmod zachovává bity set-user-ID a set-group-ID v adresáři, pokud neurčíte jinak. Bity můžete nastavit nebo vymazat pomocí symbolických režimů jako u + s a g-s a bity můžete nastavit (ale ne vymazat) pomocí numerického režimu.

Příznak omezeného odebrání (nebo "Sticky Bit")

Příznak omezeného odstranění nebo sticky bit je jeden bit, jehož interpretace závisí na typu souboru. To zabrání uživatelům, kteří nevlastní soubor nebo adresář, ve smazání nebo přejmenování souboru v adresáři; toto se nazývá příznak omezeného smazání pro adresář a běžně se vyskytuje v adresářích, do kterých lze zapisovat, jako je / tmp. U běžných souborů na některých starších systémech tento bit ukládá textový obrázek programu do odkládacího zařízení, takže se při spuštění rychleji načítá; tomu se říká lepivý bit.

Jak zobrazit oprávnění k souboru

Rychlý a snadný způsob, jak zobrazit seznam oprávnění k souboru pomocí volby dlouhého seznamu (-l) příkazu ls. Chcete-li například zobrazit oprávnění pro soubor.txt, můžete použít příkaz:

Ls -l soubor.txt

Což zobrazí výstup, který vypadá takto:

Příklady použití chmod

chmod 644 soubor.htm

Nastaví soubor.htm na „vlastník může číst a zapisovat; skupina může pouze číst; ostatní umí jen číst."

Chmod -R 755 myfiles

Rekurzivně (-R) změní oprávnění pro adresář myfiles a všechny jeho složky a soubory na režim 755. Uživatel může číst, zapisovat a spouštět; členové týmu a další uživatelé mohou číst a spouštět, ale nemohou zapisovat.

Chmod u = rw příklad.jpg

Změní oprávnění vlastníka na example.jpg, aby vlastník mohl soubor číst a zapisovat. Nezmění oprávnění pro skupinu ani ostatní.

Chmod u + s comphope.txt

Nastaví bit "Set-User-ID" souboru comphope.txt tak, aby každý, kdo se pokusí získat přístup k souboru, tak učinil, jako by byl vlastníkem souboru.

Chmod u-s comphope.txt

Opak výše uvedeného příkazu; odstraní bit SUID

Chmod 755 soubor.cgi

Nastavuje oprávnění file.cgi na „čtení, zápis a spouštění vlastníkem“ a „čtení a spouštění podle skupiny a všech ostatních“.

Chmod 666 soubor.txt

Nastaví oprávnění file.txt na „čtení a zápis všemi“.

Chmod a = rw soubor.txt

Provádí totéž jako výše uvedený příkaz pomocí symbolického zápisu.

Související příkazy

chown- Změňte vlastníka souborů nebo adresářů.
getfacl- Zobrazit seznamy řízení přístupu k souborům.
ls- seznam obsahu adresáře nebo adresářů.

(Počáteční hodnota oprávnění k souboru je rwxrwxrwx – plná kontrola pro všechny) Zrušte oprávnění ke spuštění souboru pro všechny uživatele a skupiny:

$ chmod a-x soubor(rw-rw-rw-)

Zrušení zápisu do souboru skupinou a ostatními uživateli:

$ chmod soubor go-w (rw-r – r–)

Povolení vlastníka spustit soubor:

$ chmod u + x soubor (rwxr – r–)

Udělte skupině stejná oprávnění jako vlastníkovi souboru:

$ chmod g = soubor u (rwxrwxr–)

Zrušení čtení a zápisu do souboru uživateli skupiny a ostatními uživateli:

$ chmod soubor go-rw (rwx – x-)

Příklady použití příkazu chmod v absolutním režimu

Oprávnění ke čtení, zápisu, spouštění souboru všemi uživateli a skupinami (plný přístup):

$ chmod 777 soubor (rwxrwxrwx)

Nastavení oprávnění pro čtení a zápis pro vlastníka, skupinu a další uživatele:

$ chmod 666 soubor (rw-rw-rw-)

Nastavení úplného přístupu k souboru pro vlastníka a přístupu pouze pro čtení pro skupinu a ostatní uživatele:

$ chmod 744 soubor (rwxr – r–)

Nastavení úplného přístupu k souboru vlastníkovi souboru a odepření přístupu skupině a dalším uživatelům:

$ chmod 700 soubor (rwx--)

Nastavení oprávnění pro čtení/zápis pro vlastníka souboru a oprávnění pouze pro čtení pro skupinu a další:

$ chmod 644 soubor (rw-r – r–)

Nastavení oprávnění pro čtení a zápis pro vlastníka souboru a jeho skupiny a odepření přístupu ostatním:

$ chmod 640 soubor (rw-r-–)

Nastavit přístup k souboru s oprávněním ke čtení pro všechny uživatele a skupiny:

$ chmod 444 soubor (r – r – r–)

Přístupová práva k souboru pro čtení, zápis, spouštění vlastníkem a čtení, spouštění do skupiny a další:

$ chmod 755 soubor (rwxr-xr-x)

Povolit čtení a spouštění přístupu k souboru pro uživatele a ostatní a odepřít přístup pro skupinu:

$ soubor chmod 505 (r-x-r-x)

Pokud chcete přiřadit oprávnění všem souborům v aktuálním adresáři, jednoduše umístěte * (hvězdičku) za oprávnění, která přiřadíte:

$ chmod 755 *

V důsledku tohoto příkazu bude mít vlastník plná práva (číst, upravovat, spouštět) ke všem souborům v aktuálním adresáři a skupina a ostatní uživatelé budou mít pouze čtení a spouštění. Pokud chcete, aby se vaše akce šířily rekurzivně (včetně všech podadresářů), použijte volbu -R:

$ chmod -R 777 *

Výsledek provedení výše uvedeného příkazu rekurzivně „projde“ všechny podadresáře aktuálního adresáře a přidělí plný přístup všem uživatelům a skupinám. Tento článek popisuje pouze několik příkladů použití příkazu chmod. Chcete-li se dozvědět více o tom, jak funguje chmod a oprávnění pro Linux, podívejte se na tento článek.

Změna oprávnění pouze pro adresáře (rekurzivně)

$ find / path / to / base / dir -type d -exec chmod 755 () +

$ chmod 755 $ (najít / cestu / k / základně / adresář - typ d)

$ chmod 755 `najít / cestu / k / základně / dir -typ d`

$ najít / cestu / k / základně / dir -type d -print0 | xargs -0 chmod 755

Změnit oprávnění pouze pro soubory (rekurzivně)

$ find / path / to / base / dir -type f -exec chmod 644 () +

$ chmod 644 $ (najít / cestu / k / základně / adresář - typ f)

$ chmod 0755 `najít ./ -type f`

$ find / path / to / base / dir -type f -print0 | xargs -0 chmod 644

Syntaxe Chmod pro složky a soubory

Pojďme nejprve pochopit podstatu problému s Chmodem, abychom pochopili, co přesně a jak konfigurujeme. Pojďme tedy začít. Oprávnění jsou rozdělena na Chmod pro soubory a Chmod pro adresáře. Označují se stejně, ale znamenají trochu jinak.

Oprávnění k souboru (Chmod) se dělí na:

    r - právo číst data.

    w - právo na změnu obsahu (zápis - pouze změna obsahu, nikoli mazání).

    x - právo spustit soubor.

Zastavme se trochu podrobněji u práva na provádění souboru. Jde o to, že na linuxu (Unixu) lze spustit jakýkoli soubor. O tom, zda je spustitelný, nerozhoduje jeho přípona (koncept přípony v unixovém souborovém systému chybí), ale přístupová práva Chmod. Pokud má jakýkoli soubor oprávnění „X“ (chmod x), znamená to, že jej lze spustit ke spuštění.

Nyní o přístupových právech (Chmod) ke složce (adresáři):

    r - právo číst adresář (můžete číst obsah adresáře, tj. získat seznam objektů v něm)

    w - právo měnit obsah adresáře (v tomto adresáři můžete vytvářet a mazat objekty, a pokud máte právo zápisu, můžete mazat i ty soubory, které vám nepatří)

    x - právo, které vám umožňuje vstoupit do adresáře (toto právo je vždy zaškrtnuto jako první, a to i v případě, že máte všechna potřebná práva k objektu, který je pohřben hluboko v řetězci adresářů, ale nemáte „X“ právo na přístup alespoň k jednomu adresáři na cestě k tomuto souboru, pak se do něj neprolomíte)

Na linuxových (Unixových) systémech všechna tato práva uděluje hlavní správce počítače, ke kterému získá přístup zadáním hesla. A pokud má většina objektů přístupová práva pouze pro čtení (Chmod), pak viry na takovém počítači nebudou mít prakticky co dělat, protože nebudou se tam moci napsat, a pak nebudou moci býti naplněni. To je přesně výsledek, kterého potřebujeme dosáhnout nastavením přístupových práv (Chmod) k objektům našeho webu.

Syntaxe Chmod pro skupiny uživatelů

Samotná oprávnění (Chmod) spadají do tří kategorií v závislosti na tom, kdo k objektu přistupuje:

    "Uživatel" - u (přímý vlastník souboru)

    "Skupina" - g (člen stejné skupiny jako vlastník)

    "Svět" - o (všechny ostatní)

Server určí, do které skupiny uživatelů patříte, když se k serveru připojíte. Když se například připojíte k serveru přes FTP, pak se přihlásíte svým uživatelským jménem (a heslem) a server vás pak zařadí do skupiny „user“ („u)“. Ostatní uživatelé, kteří se také připojují přes FTP k serveru, budou zařazeni do skupiny „skupina“ („g“) a uživatel, který na váš web přijde pomocí svého prohlížeče, bude zařazen do skupiny „svět“ („o“). .

Variace tří možných hodnot „r“, „w“ a „x“ pro tři kategorie „u“, „g“ a „o“ určují Chmod k souborům. Není-li kategorie uvedena, nahradí se pomlčkou „-“. přístupová práva (Chmod) se zadávají postupně v daném pořadí:

    nejprve práva pro vlastníka jsou "u"

    pak pro skupinu - "g"

    a na konci práva pro všechny ostatní - "o"

Poté, co server přiřadí uživatele k určitá skupina, uděluje mu práva pracovat s objekty, poté může uživatel soubor číst, zapisovat nebo spouštět (v závislosti na tom, co jeho skupina smí s tímto objektem dělat). Chcete-li zobrazit obsah složky, musí mít atribut read "r" (pro skupinu, do které server přiřadil uživatele). Chcete-li vytvořit soubor nebo složku v existujícím souboru, musí mít v položce "w" atribut Chmod.

Pro názornost se podívejme na příklad, kdy má vlastník souboru ("uživatel" - "u") všechna práva: právo jej číst, zapisovat a spouštět a všichni ostatní uživatelé mají právo pouze číst. Záznam takového Chmoda bude vypadat takto: "rwx r-- r--". Zvažme to podrobně: "rwx" (tato položka nastavuje práva k objektu pro vlastníka - "u"), "r--" (tato položka nastavuje práva ke stejnému objektu, ale pokud je uživatel přiřazen k skupina serverem - "g "), R-- "(tato položka nastavuje práva k objektu pro všechny ostatní uživatele - o").

Jak se liší soubory a složky Chmod

Nedá se nic dělat

Přístup k adresáři a jeho podadresářům je odepřen

Můžete vidět a změnit obsah

Může přidávat, mazat, měnit soubor složky

Spustit, pokud je soubor binární

Uživatel může spustit binární soubor, o jehož existenci ví, je zakázáno vstupovat do adresáře nebo jej číst

Číselná syntaxe Chmod (777)

Vidíte, že zde se k popisu přístupových práv používají záznamy pomocí latinských písmen a pomlček, ale pravděpodobně jste se již setkali s tím, že Chmod se obvykle nastavuje v digitální podobě, např. známá kombinace: Chmod 777, která umožňuje všem a všem. Ve skutečnosti jsou přístupová práva (Chmod) také označena čísly:

    w (záznam) je nahrazeno 2

    x (verze) je nahrazeno 1

0 znamená - nedělat nic (což je v doslovném zápisu označeno pomlčkou) Vraťme se k příkladu přístupových práv, který jsem uvedl o něco dříve: rwx r-- r--. Nahradíme-li v něm písmena a pomlčky čísly, v souladu s právě popsaným pravidlem, a zároveň sečteme čísla v každé trojici, dostaneme digitální podobu tohoto zápisu: 744. ukazuje se, že součet těchto čísel ukazuje Chmod k souborům nebo složce. Například:

    7 (rwx) = 4 + 2 +1 (plná práva)

    5 (r-x) = 4 + 0 + 1 (číst a provádět)

    6 (rw-) = 4 + 2 + 0 (čtení a zápis)

    4 (r--) = 4 + 0 + 0 (pouze pro čtení)

Tato tabulka uvádí všechny možné kombinace Chmod zapsané v digitální podobě:

Nyní se podívejme na různé kombinace Chmod v číslech aplikované na skupiny uživatelů:

""Majitel""

""Skupina""

""Odpočinek""

provést

provést

provést

Vy sami (kromě případu, kdy na stránky přistupujete přes FTP) a všichni ostatní návštěvníci vašeho webu patříte do skupiny „slovo“ (všichni ostatní), takže pro práci s webem se musíme nejprve podívat na poslední ( třetí) číslice Chmod. K tomu, aby uživatel "spustil soubor" skriptu, když uživatel pracuje se stránkou, bude stačit, aby měl přístupová práva (Chmod), počínaje "4" (r-- - pouze pro čtení) (5,6,7 jsou také ok, ale z hlediska bezpečnosti to bude nadbytečné).

"Pro složku", ve které je umístěn soubor tohoto skriptu, je třeba nastavit alespoň "5" (r-x - můžete jít do složky a číst její obsah, nemůžete mazat ani přidávat). 7 je také v pořádku, ale z hlediska bezpečnosti bude také nadbytečný. Pokud chcete, aby skript nejen četl, ale také „zapisoval“ některá data (například zadaná uživatelem), pak minimální práva na „složku“ budou stále „5“, ale pro „soubor“ ” budete potřebovat práva „6“ (Čtení a zápis).

S největší pravděpodobností na serveru, kam jste zkopírovali obsah enginu vašeho webu, budou do objektů nainstalovány následující Chmods:

Složky 755

vlastník (uživatel) může vše, skupina a všichni ostatní mohou složky pouze číst a vstupovat do nich, ale mají zakázáno zapisovat soubory, měnit jejich jména a mazat je v adresářích. (rwxr-xr-x)

Soubory 644

Pokud byste měli web složený pouze z html, můžete to tak nechat. Moderní stránky jsou však postaveny na motorech a mohou existovat objekty, ve kterých bude nutné psát jménem uživatelů ze skupiny „svět“ - o (všechny ostatní). Mohou to být složky používané pro ukládání stránek do mezipaměti nebo ty, do kterých se budou načítat obrázky při práci se stránkou atd. Samozřejmostí je, že pokud na stránky přejdete přes FTP, můžete do těchto souborů či složek zapisovat, ale práce s rozhraní webové stránky, jako běžný uživatel můžete mít problémy. Proto je třeba k instalaci určitých Chmodů přistupovat selektivně.

Příkaz chmod (ZMĚNIT REŽIM- změnit režim) má velmi specifickou syntaxi. Obecná syntaxe:
ale to, co ji charakterizuje, je, že změna režimu může mít mnoho podob. Lze jej specifikovat dvěma způsoby:

  1. jako osmičkové číslo. Oprávnění vlastníka v tomto případě odpovídají číslům ve tvaru 00, kde odpovídají přidělenému oprávnění: 4 pro čtení, 2 pro zápis a 1 pro provádění. Podobně jsou oprávnění skupiny vlastníků 0 a oprávnění pro "ostatní" jsou. Pak už jen stačí najít součet oprávnění, která chcete přiřadit, abyste získali požadovaný režim. Oprávnění rwxr-xr-- tedy odpovídají 400 + 200 + 100 (oprávnění pro vlastníka, rwx) + 40 + 10 (oprávnění pro skupinu, r-x) +4 (oprávnění pro ostatní, r--) = 754; tedy oprávnění jsou vyjádřena v podmínkách volných členů. To znamená, že předchozí oprávnění jsou bezpodmínečně nahrazena;
  2. pomocí výrazů. V tomto případě jsou oprávnění vyjádřena posloupností výrazů oddělených čárkami. Výraz má tedy následující tvar: [kategorie]<+|-|=><разрешения> .
Příklady:
  • chmod -R o-w / sdílené / docs: rekurzivně odstraňuje oprávnění k zápisu pro ostatní ze všech souborů a podadresářů v adresáři / shared / docs /.
  • chmod -R og-w, o-x private /: rekurzivně odebere oprávnění k zápisu pro skupinu a ostatní z celého soukromého / adresáře a odebere oprávnění ke spuštění pro zbytek.
  • chmod -c 644 různé / soubor *: změní oprávnění pro všechny soubory v misc / adresáři, jejichž názvy začínají souborem na rw-r - r-- (tj. oprávnění ke čtení pro všechny a oprávnění k zápisu pouze pro vlastníka) a hlásí pouze ty soubory, které byly ovlivněny tým.

Následující příklad ukazuje, jak umožnit všem uživatelům číst, provádět změny a ukládat soubor. K tomu je potřeba změnit přístupová práva skupiny „ostatní“.
Do příkazového řádku zadejte:
ls -l example1.txt Na obrazovce se zobrazí následující informace:
-rw-rw-r-- 1 uživatel uživatel 42 24. března 22:07 example1.txt Nyní zadejte tento příkaz:
chmod o + w example1.txt Příkaz o + w znamená, že dáváte „ostatním“ (označeným písmenem „o“) oprávnění k zápisu do souboru example1.txt. Abychom viděli, k čemu vedlo provedení zadaného příkazu, podívejme se znovu na soubor:
-rw-rw-rw- 1 uživatel uživatel 42 24. března 22:09 example1.txt Každý nyní může číst a zapisovat do souboru.
Chcete-li zabránit čtení a zápisu do souboru example1.txt, použijte příkaz chmod.
chmod go-rw example1.txt Příkaz go-rw říká systému, že chcete zabránit skupině a "ostatním" ve čtení a zápisu do souboru example1.txt.
V důsledku toho budou přístupová práva vypadat takto:
-rw ------- 1 user user 42 Mar 24 22:10 example1.txt Tyto třídy a oprávnění jsou zkratkou pro odpovídající anglická slova, takže jsou snadno zapamatovatelná: vše, co si potřebujete zapamatovat, je několik znaků a písmena.
Zde je seznam přepisů těchto zkratek:

Třídy u – uživatel, který vlastní soubor (z anglického „user“);
g - skupina, do které uživatel patří (z anglického "group");
o - zbytek (nikoli vlastník a ne vlastník skupiny, z anglického „ostatní“);
a - všechno (u, g a o, z anglického "all"). Práva r - právo číst;
w - právo psát;
x je právo na provedení. Akce + - dává právo;
- - odebírá právo;
= - vyhrazuje si pouze dané právo.

Chcete si ověřit své znalosti? Odeberte všechna uživatelská práva k example1.txt všem uživatelům.
chmod a-rwx example1.txt Nyní zkontrolujte, zda umíte číst tento soubor pomocí příkazu cat example1.txt. Měli byste vidět následující:
cat: example1.txt: Oprávnění odepřeno Odebráním všech práv, včetně vašich vlastních, jste zablokovali přístup k souboru. Ale protože soubor patří vám, můžete práva kdykoli obnovit pomocí následujícího příkazu:
chmod u + rw example1.txt Abyste měli jistotu, že daný soubor dokážete přečíst, použijte cat example1.txt.
Zde je několik příkladů použití příkazu chmod:

  • g + w - dává vlastníkovi skupiny oprávnění k zápisu;
  • o-rwx - odebere veškerá práva ostatním uživatelům;
  • u + x - dává vlastníkovi právo soubor spustit;
  • a + rw - umožňuje komukoli číst a zapisovat do souboru;
  • ug + r - umožňuje vlastníkovi a skupině číst soubor;
  • g = rx - Umožňuje skupině číst a spouštět soubor (ne do něj zapisovat).

Volba -R umožňuje změnit práva pro celý strom adresářů.
Vzhledem k tomu, že adresáře nelze „spouštět“ jako aplikace, přidání nebo odebrání příslušných práv znamená povolení (nebo ne) prohlížení adresáře.
Pokud například zabráníte ostatním uživatelům spouštět docs/adresář, nezáleží na tom, kdo má oprávnění ke čtení/zápisu. Nikdo nemá přístup k obsahu adresáře, pokud nezná přesný název souboru, který obsahuje.
Napište například:
chmod a-x docs pro zrušení oprávnění ke spuštění všem uživatelům.
Pokud se nyní pokusíte změnit adresář pomocí příkazu cd docs, budete odmítnuti:
bash: docs: Povolení odepřeno Vraťte sobě a své skupině práva:
chmod ug + x docs Pokud nyní zkontrolujete výsledky svých akcí pomocí příkazu ls -l, uvidíte, že přístup do adresáře docs / je odepřen pouze ostatním uživatelům.