Príkazy Ubuntu chmod. Chmod: zmeniť povolenia

V našej dokumentácii o umaskovať príkaz. Obsahuje komplexný popis, ako definovať a špecifikovať oprávnenia súboru.

Všeobecne, chmod príkazy majú tvar:

Chmod možnosti povolenia názov súboru

Ak nie možnosti sú špecifikované, chmod upravuje oprávnenia súboru špecifikované pomocou názov súboru na povolenia určené povolenia.

povolenia definuje oprávnenia pre vlastníka súboru (ďalej len „používateľ“), členov skupiny, ktorí súbor vlastní (ďalej len „skupina“), a kohokoľvek iného (ďalej len „ostatní“). Existujú dva spôsoby vyjadrenia týchto povolení: pomocou symbolov (alfanumerické znaky) alebo pomocou osmičkových čísel (číslice 0 cez 7 ).

Povedzme, že ste vlastníkom súboru s názvom myfile a chcete nastaviť jeho povolenia tak, aby:

  1. a u ser môže rčítať, w obrad a e X vykonať to;
  2. členov vášho g roup môže r ead a e X vykonať to; a
  3. o môžu len r prečítaj si to.

Tento príkaz urobí trik:

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

Tento príklad používa symbolický zápis povolení. Listy u, g a o stáť za " užívateľ", "skupina", a" iné". Znamienko rovnosti (" = ") znamená" nastaviť povolenia presne takto, "a písmená" r", "w", a" X„zastupovať“ čítať „“, písať „ a „vykonať“, v tomto poradí. Čiarky oddeľujú rôzne triedy povolení a medzi nimi nie sú žiadne medzery.

Tu je ekvivalentný príkaz používajúci notáciu osmičkových povolení:

Chmod 754 myfile

Tu sú číslice 7 , 5 a 4 každý jednotlivo predstavuje povolenia pre používateľa, skupinu a ostatných v uvedenom poradí. Každá číslica je kombináciou čísel 4 , 2 , 1 a 0 :

  • 4 znamená "čítať",
  • 2 znamená "písať",
  • 1 znamená „vykonať“ a
  • 0 znamená „bez povolenia“.

Takže 7 je kombinácia povolení 4 +2 +1 (čítať, zapisovať a spúšťať), 5 je 4 +0 +1 (čítať, nepísať a vykonávať) a 4 je 4 +0 +0 (čítanie, žiadny zápis a žiadne spúšťanie).

Syntax

chmod [ MOŽNOSŤ]... MODE[,MODE]... SÚBOR... chmod [ MOŽNOSŤ]... OCTAL-MODE SÚBOR... chmod [ MOŽNOSŤ] ... --odkaz = RFILE FILE...

možnosti

-c, --zmeny

Páči sa mi to -- verbózne, ale poskytuje podrobný výstup iba vtedy, keď sa skutočne vykoná zmena.

-f, -- ticho, --tichý

Tichý režim; potlačenie väčšiny chybových hlásení.

-v, -- verbózne

Podrobný režim; výstup diagnostickej správy pre každý spracovaný súbor.

--no-preserve-root

Zobrazte pomocnú správu a ukončite ju.

Vlastník súboru.

hopestaff

Skupina, ktorej súbor patrí.

3. februára 15:36

Súbor "s mtime (dátum a čas, kedy bol súbor naposledy zmenený).

súbor.txt

Názov súboru.

Príklady

chmod 644 súbor.htm

Nastavte povolenia pre súbor.htm na „vlastník môže čítať a písať; skupina môže iba čítať; ostatní môžu iba čítať“.

Chmod -R 755 myfiles

Rekurzívne ( -R) Zmeňte oprávnenia adresára moje súbory a všetky priečinky a súbory, ktoré obsahuje, do režimu 755 : Používateľ môže čítať, zapisovať a spúšťať; členovia skupiny a ostatní používatelia môžu čítať a spúšťať, ale nemôžu zapisovať.

Chmod u = rw príklad.jpg

Zmeňte povolenia pre vlastníka priklad.jpg aby vlastník mohol čítať a zapisovať súbor. Nemeňte povolenia pre skupinu ani pre ostatných.

Chmod u + s comphope.txt

Nastavte bit "Set-User-ID". comphope.txt, takže každý, kto sa pokúsi získať prístup k tomuto súboru, tak urobí, akoby bol vlastníkom súboru.

Chmod u-s comphope.txt

Opak vyššie uvedeného príkazu; zruší nastavenie bitu SUID.

Chmod 755 súbor.cgi

Nastavte povolenia pre súbor.cgi na „čítať, zapisovať a spúšťať vlastníkom“ a „čítať a spúšťať skupinou a všetkými ostatnými“.

Chmod 666 súbor.txt

Nastavte povolenie pre súbor.txt aby „čítal a písal každý“.

Chmod a = rw súbor.txt

Dosahuje to isté ako vyššie uvedený príkaz pomocou symbolickej notácie.

Súvisiace príkazy

chown- Zmeňte vlastníctvo súborov alebo adresárov.
getfacl- Zobrazenie zoznamov riadenia prístupu k súborom.
ls- Zoznam obsahu adresára alebo adresárov.

Zmeňte povolenia súboru

Syntax:

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

Možnosti:

-R Rekurzia. Používa sa na priečinky. Zmení práva nielen pre zadaný objekt, ale pre všetky v ňom vnorené
-R -H Postupujte podľa symbolických odkazov príkazový riadok... V predvolenom nastavení sa symbolické odkazy nespracúvajú
-R -L Všetky symbolické odkazy budú spracované
-R -P Strom odkazov nebude spracovaný. Predvolený parameter.
-v Úplné. Zobrazuje všetky súbory, ktoré sa zmenili
-v -v veľmi podrobný režim. Staré a nové práva sa zobrazia v osmičkovom (numerickom) a abecednom zobrazení
-f nezobrazovať diagnostické správy, ak nie je možné zmeniť prístupové práva k súboru
ACL_Option(ACL – zoznamy riadenia prístupu pre skupiny používateľov) ACL_manipulation_options

Prístupové práva:

Prístupové práva môžu byť špecifikované v abecednom kóde alebo číselnom základe osmičkový systém zúčtovanie

Ovládanie pomocou digitálnej indikácie prístupových práv:

Na správu práv sa používajú tri bity

  • prvým je právo čítať
  • druhým je právo písať
  • tretí - právo na vykonanie
Kúsok po kúsku číslo Písmenový kód popis práva
000 0 žiadne práva
001 1 právo len na plnenie
010 2 len písať správne
011 3 práva na nahrávanie a výkon
100 4 právo len na čítanie
101 5 právo čítať a vykonávať
110 6 povolenie na čítanie a zápis bez vykonania
111 7 všetky práva

Takéto povolenia súborov sú nastavené pre tri typy prístupu:

  • pre majiteľa
  • pre skupinu
  • pre ostatných

V dôsledku toho príkaz vyzerá takto:

$ chmod 444 súbor – právo len na čítanie pre každého

755 $ chmod súbor - vlastník má všetky práva (7), ostatní používatelia sa len čítajú a spúšťajú (5)

$ chmod 066 súbor - vlastník nemá žiadne práva na súbor (0), všetky ostatné práva na čítanie a zápis bez vykonania

Správa prostredníctvom doslovného označenia prístupových práv:

Formát pre špecifikáciu práv pomocou symbolického kódu

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

SZO je kombináciou znakov "ugoa" ukazujúci na používateľov ktorého povolenia na prístup k súboru alebo priečinku sa zmenia

  • u vlastníka používateľa
  • g skupina užívateľov
  • o ostatných používateľov
  • a (all) for all, podobne ako ugo

Príkaz chmod sa používa na zmenu oprávnení pre súbory alebo adresáre.

Na Linuxe a inom unixovom systéme operačné systémy pre každý súbor existuje súbor pravidiel, ktoré určujú, kto a ako môže k tomuto súboru pristupovať. Tieto pravidlá sa nazývajú povolenia súborov alebo režimy súborov. Názov príkazu chmod znamená „režim zmeny“ a používa sa na určenie spôsobu prístupu k súboru.

Vo všeobecnosti príkazy chmod vyzerajú takto:

chmod možnosti oprávnenia názov súboru

Ak možnosti nie je zadané, chmod zmení oprávnenia súboru špecifikovaného v názov súboru, pre povolenia uvedené v povolenia.

Povolenia určiť prístupové práva pre vlastníka súboru ("používateľ"), členov skupiny, ktorá súbor vlastní ("skupina") a všetkých ostatných ("ostatní"). Existujú dva spôsoby vyjadrenia týchto povolení: pomocou symbolov (alfanumerické znaky) alebo osmičkových čísel (čísla 0 až 7).

Povedzme, že vlastníte súbor s názvom myfile a chcete nastaviť jeho povolenia tak, aby:

  1. používateľ ( u ser) vedel čítať ( rčítať), písať ( w obrad) a vykonať ( X ecute) it;
  2. členovia skupiny ( g roup) vie čítať ( r ead) a vykonať ( X ecute) it;
  3. ako aj iní ( o thers) vie iba čítať ( rčítať) to.

Tento príkaz bude vyzerať takto:

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

Tento príklad používa symbolický zápis pre povolenia. Písmená u, g a o znamenajú používateľa, skupinu a iné. Znamienko rovnosti ("=") znamená "nastaviť povolenia týmto spôsobom" a písmená "r", "w" a "x" znamenajú "čítať", "písať" a "vykonať". Čiarky oddelené rôzne triedy povolenia a medzi nimi nie sú žiadne medzery.

Tu je ekvivalentný príkaz používajúci osmičkový zápis pre povolenia:

chmod 754 myfile

Čísla 7, 5 a 4 tu každé jednotlivo predstavujú oprávnenia pre používateľa, skupinu a ostatných v uvedenom poradí. Každá číslica je kombináciou čísel 4, 2, 1 a 0:

  • 4 znamená „čítať“
  • 2 znamená "písať",
  • 1 znamená "vykonať",
  • 0 znamená žiadne povolenie.

Takže 7 je kombinácia oprávnení 4 + 2 + 1 (čítanie, zápis a spúšťanie), 5 je 4 + 0 + 1 (čítanie, žiadny zápis a spúšťanie) a 4 je 4 + 0 + 0 (čítanie, nie zapisovať a nevykonávať).

Syntax Chmod

chmod ... MODE [, MODE] ... SÚBOR ... chmod ... SÚBOR V OCTÁLNOM REŽIME ... chmod ... --reference = SÚBOR RFILE ...

Možnosti Chmod

-c, --zmeny Podobne ako --verbose, ale vytvára podrobný výstup len vtedy, keď sa skutočne vykoná zmena.

-f, -- ticho, --tichý Tichý mód; potlačenie väčšiny chybových hlásení.

-v, -- verbózne Podrobný režim; vytlačte diagnostickú správu pre každý spracovaný súbor.

--no-preserve-root Neobsluhujte "/" (koreňový adresár) žiadnym špeciálnym spôsobom, čo je predvolené nastavenie.

--preserve-root Nepracujte rekurzívne na "/".

--odkaz =RFILE Nastavte povolenia tak, aby sa zhodovali s povoleniami súboru RFILE, pričom ignorujte akýkoľvek zadaný MODE.

-R, --rekurzívne Zmeňte súbory a adresáre rekurzívne.

--Pomoc Zobraziť pomocnú správu a ukončiť.

--verzia Vytlačte informácie o verzii a ukončite program.

Technický popis

chmod zmení režim súboru každého špecifikovaného SÚBORU tak, aby zodpovedal MODE, ktorý môže byť buď symbolickou reprezentáciou vykonávaných zmien, alebo osmičkovým číslom reprezentujúcim bitový vzor pre bity v novom režime.

Formát symbolického režimu:

[[+-=]...]

kde perms je nula alebo viac písmen z množiny r, w, x, X, s a t, alebo jedno písmeno z množiny u, g a o. Je možné zadať režimy viacerých znakov oddelených čiarkami.

Kombinácia písmen u, g, o a ovládacích prvkov, ktoré zmenia prístup používateľa k súboru: používateľ, ktorý ho vlastní (u), ostatní používatelia v skupine súboru (g), ostatní používatelia, ktorí nie sú v skupine súboru (o) alebo všetci používatelia (a). Ak nie je zadané nič z toho, efekt bude taký, ako keby bolo dané a, ale bity, ktoré boli nastavené v umask, neboli ovplyvnené.

Operátor (+) spôsobí, že vybrané bity režimu súboru sa pridajú k existujúcim bitom režimu súboru každého súboru; "-" spôsobí ich vymazanie; a "=" spôsobí, že sa pridajú a odstráni nespomenuté bity, okrem toho, že nemodifikovateľné bity adresára nastavené používateľom a ID skupín nie sú ovplyvnené.

Písmená r, w, x, X, s a t vyberajú bity režimu súboru pre dotknutých používateľov: čítať (r), zapisovať (w), spúšťať (x), spúšťať iba vtedy, ak je súbor adresárom alebo už obsahuje povolenie na vykonanie pre niektorého používateľa (X) nastavenie ID používateľa alebo skupiny na vykonanie (s), príznak obmedzeného vymazania alebo pevný bit (t). Pre adresáre určujú voľby spustenia X a X oprávnenie na zobrazenie obsahu adresára.

Namiesto jedného alebo viacerých z týchto písmen môžete zadať jedno z písmen u, g alebo o: povolenia udelené používateľovi, ktorý vlastní súbor (u), povolenia udelené iným používateľom, ktorí sú členmi skupiny súboru (g ) a povolenia udelené používateľom, ktorí nespadajú do žiadnej z dvoch predchádzajúcich kategórií (o).

Numerický režim – Jedna až štyri osmičkové číslice (0-7) získané sčítaním bitov s hodnotami 4, 2 a 1. Predpokladá sa, že chýbajúce číslice sú úvodné nuly. Prvá číslica vyberá špecifikované ID užívateľa (4) a špecifikované ID skupiny (2) a atribúty obmedzeného vymazania alebo prilepenia (1). Druhá číslica vyberá prístupové práva pre používateľa, ktorý vlastní operácie čítania (4), zápisu (2) a vykonávania (1); tretí vyberie prístupové práva pre ostatných používateľov v skupine súborov s rovnakými hodnotami; a štvrtý pre ostatných používateľov mimo skupiny súborov s rovnakými hodnotami.

chmod nikdy nemení oprávnenia na symbolické odkazy; systémové volanie chmod nemôže zmeniť ich povolenia. To však nie je problém, pretože symbolické povolenia na prepojenie sa nikdy nepoužívajú. Pre každý symbolický odkaz zadaný v príkazovom riadku však chmod zmení oprávnenia na zadaný súbor. Na rozdiel od toho chmod ignoruje symbolické odkazy vyskytujúce sa počas rekurzívneho prechodu adresára.

Setuid a Setgid bity

chmod vymaže bit set-group-ID bežného súboru, ak sa ID skupiny súboru nezhoduje s efektívnym ID skupiny používateľa alebo s jedným z ID doplnkovej skupiny používateľa, pokiaľ používateľ nemá príslušné privilégiá. Ďalšie obmedzenia môže spôsobiť, že bity set-user-ID a set-group-ID v režime MODE alebo RFILE budú ignorované. Toto správanie závisí od politiky a funkčnosti hlavného systémového volania chmod. Ak máte pochybnosti, skontrolujte správanie systému.

chmod zachováva bity set-user-ID a set-group-ID v adresári, pokiaľ nešpecifikujete inak. Bity môžete nastaviť alebo vymazať pomocou symbolických režimov, ako sú u + s a g-s, a bity môžete nastaviť (nie však vymazať) pomocou číselného režimu.

Príznak obmedzeného odstránenia (alebo „lepkavý bit“)

Príznak obmedzeného vymazania alebo sticky bit je jeden bit, ktorého interpretácia závisí od typu súboru. Toto bráni používateľom, ktorí nevlastnia súbor alebo adresár, vymazať alebo premenovať súbor v adresári; toto sa nazýva príznak obmedzeného vymazania pre adresár a bežne sa vyskytuje v adresároch, do ktorých je možné zapisovať, ako je / tmp. V prípade bežných súborov na niektorých starších systémoch tento bit ukladá textový obrázok programu do odkladacieho zariadenia, takže sa pri štarte rýchlejšie načítava; toto sa nazýva lepkavý bit.

Ako zobraziť povolenia súboru

Rýchly a jednoduchý spôsob, ako zobraziť zoznam oprávnení k súboru pomocou možnosti dlhého zoznamu (-l) príkazu ls. Ak chcete napríklad zobraziť povolenia pre súbor.txt, môžete použiť príkaz:

Ls -l súbor.txt

Čo zobrazí výstup, ktorý vyzerá takto:

Príklady použitia chmod

chmod 644 súbor.htm

Nastaví súbor.htm na „vlastník môže čítať a zapisovať; skupina vie len čítať; ostatní vedia len čítať."

Chmod -R 755 myfiles

Rekurzívne (-R) zmení oprávnenia pre adresár myfiles a všetky jeho priečinky a súbory na režim 755. Používateľ môže čítať, zapisovať a spúšťať; členovia tímu a ostatní používatelia môžu čítať a spúšťať, ale nemôžu zapisovať.

Chmod u = rw príklad.jpg

Zmení povolenia vlastníka na example.jpg, aby vlastník mohol čítať a zapisovať súbor. Nezmení povolenia pre skupinu ani pre ostatných.

Chmod u + s comphope.txt

Nastaví bit "Set-User-ID" súboru comphope.txt tak, aby každý, kto sa pokúsi získať prístup k súboru, urobil tak, ako keby bol vlastníkom súboru.

Chmod u-s comphope.txt

Opak vyššie uvedeného príkazu; odstráni bit SUID

Chmod 755 súbor.cgi

Nastavuje oprávnenia súboru.cgi na „čítanie, zápis a spúšťanie vlastníkom“ a „čítanie a spúšťanie podľa skupiny a všetkých ostatných“.

Chmod 666 súbor.txt

Nastaví povolenie súboru.txt na „čítanie a zápis všetkými“.

Chmod a = rw súbor.txt

Vykonáva to isté ako vyššie uvedený príkaz pomocou symbolickej notácie.

Súvisiace príkazy

chown- Zmeňte vlastníka súborov alebo adresárov.
getfacl- Zobraziť zoznamy riadenia prístupu k súborom.
ls- zoznam obsahu adresára alebo adresárov.

(Počiatočná hodnota povolení súboru je rwxrwxrwx – úplná kontrola pre všetkých) Zrušte povolenie na spustenie súboru pre všetkých používateľov a skupiny:

$ chmod a-x súbor(rw-rw-rw-)

Zrušenie zápisu do súboru skupinou a ostatnými používateľmi:

$ chmod súbor go-w (rw-r – r–)

Umožnenie vlastníkovi spustiť súbor:

$ chmod u + x súbor (rwxr – r–)

Udeľte skupine rovnaké povolenia ako vlastník súboru:

$ chmod g = súbor u (rwxrwxr–)

Zrušenie čítania a zápisu do súboru používateľmi skupiny a inými používateľmi:

$ chmod súbor go-rw (rwx – x-)

Príklady použitia príkazu chmod v absolútnom režime

Povolenie čítať, zapisovať a spúšťať súbor všetkými používateľmi a skupinami (plný prístup):

$ chmod 777 súbor (rwxrwxrwx)

Nastavenie povolení na čítanie a zápis pre vlastníka, skupinu a ostatných používateľov:

$ chmod 666 súbor (rw-rw-rw-)

Nastavenie úplného prístupu k súboru pre vlastníka a prístupu iba na čítanie pre skupinu a ostatných používateľov:

$ chmod 744 súbor (rwxr – r–)

Nastavenie úplného prístupu k súboru vlastníkovi súboru a odmietnutie prístupu skupine a ostatným používateľom:

$ súbor chmod 700 (rwx--)

Nastavenie povolení na čítanie/zápis pre vlastníka súboru a povolení iba na čítanie pre skupinu a ostatných:

$ chmod 644 súbor (rw-r – r–)

Nastavenie povolení na čítanie a zápis pre vlastníka súboru a jeho skupiny a odmietnutie prístupu ostatným:

$ chmod 640 súbor (rw-r-–)

Nastaviť prístup k súboru s povolením na čítanie pre všetkých používateľov a skupiny:

$ chmod 444 súbor (r – r – r–)

Prístupové práva k súborom na čítanie, zápis, spúšťanie vlastníkom a čítanie, spúšťanie do skupiny a iné:

$ chmod 755 súbor (rwxr-xr-x)

Povoliť čítanie a spustenie prístupu k súboru pre používateľa a ostatných a zakázať prístup pre skupinu:

$ súbor chmod 505 (r-x-r-x)

Ak chcete prideliť povolenia všetkým súborom v aktuálnom adresári, jednoducho umiestnite * (hviezdičku) za povolenia, ktoré priradíte:

$ chmod 755 *

V dôsledku tohto príkazu bude mať vlastník plné práva (čítať, upravovať, spúšťať) všetky súbory v aktuálnom adresári a skupina a ostatní používatelia budú mať iba čítanie a spúšťanie. Ak chcete, aby sa vaše akcie šírili rekurzívne (vrátane všetkých podadresárov), použite možnosť -R:

$ chmod -R 777 *

Výsledok vykonania vyššie uvedeného príkazu rekurzívne „prejde“ všetky podadresáre aktuálneho adresára a pridelí úplný prístup všetkým používateľom a skupinám. Tento článok obsahuje len niekoľko príkladov použitia príkazu chmod. Ak sa chcete dozvedieť viac o tom, ako funguje chmod a povoleniach systému Linux, prečítajte si tento článok.

Zmeniť povolenia iba pre adresáre (rekurzívne)

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

$ chmod 755 $ (nájsť / cestu / k / základňu / adresár - typ d)

$ chmod 755 `nájsť / cestu / k / základni / adresár - typ d`

$ nájsť / cestu / k / základňu / adresár -typ d -tlač0 | xargs -0 chmod 755

Zmeniť povolenia iba pre súbory (rekurzívne)

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

$ chmod 644 $ (nájsť / cestu / k / základňu / adresár - typ f)

$ chmod 0755 `nájsť ./ -typ f`

$ nájsť / cestu / k / základni / adresár - typ f -print0 | xargs -0 chmod 644

Syntax Chmod pre priečinky a súbory

Poďme najprv pochopiť podstatu problému s Chmodom, aby sme pochopili, čo presne a ako konfigurujeme. Tak poďme na to. Oprávnenia sú rozdelené na Chmod pre súbory a Chmod pre adresáre. Označujú sa rovnako, ale znamenajú trochu inak.

Povolenia súborov (Chmod) sú rozdelené na:

    r - právo čítať údaje.

    w - právo meniť obsah (zápis - len meniť obsah, nie mazať).

    x - právo na spustenie súboru.

Poďme sa trochu podrobnejšie venovať právu na vykonávanie súboru. Ide o to, že na linuxe (Unixe) je možné spustiť akýkoľvek súbor. O tom, či je spustiteľný, nerozhoduje jeho rozšírenie (v unixovom súborovom systéme koncept rozšírenia chýba), ale prístupové práva Chmod. Ak má niektorý súbor oprávnenie „X“ (chmod x), znamená to, že ho možno spustiť na spustenie.

Teraz o prístupových právach (Chmod) do priečinka (adresára):

    r - právo čítať adresár (môžete čítať obsah adresára, t.j. získať zoznam objektov v ňom)

    w - právo meniť obsah adresára (v tomto adresári môžete vytvárať a mazať objekty, a ak máte právo zapisovať, môžete mazať aj tie súbory, ktoré vám nepatria)

    x - právo, ktoré vám umožňuje vstúpiť do adresára (toto právo je vždy začiarknuté ako prvé, a to aj v prípade, že máte všetky potrebné práva na objekt, ktorý je pochovaný hlboko v reťazci adresárov, ale nemáte „X“ právo na prístup aspoň k jednému adresáru na ceste k tomuto súboru, potom sa k nemu nedostanete)

Na linuxových (Unixových) systémoch všetky tieto práva udeľuje hlavný správca počítača, ku ktorému prístup získa zadaním hesla. A ak má väčšina objektov prístupové práva len na čítanie (Chmod), tak vírusy na takomto počítači nebudú mať prakticky čo robiť, pretože nebudú sa tam môcť napísať a potom nebudú môcť byť splnené. Presne tento výsledok potrebujeme dosiahnuť nastavením prístupových práv (Chmod) k objektom našej stránky.

Syntax Chmod pre skupiny používateľov

Samotné povolenia (Chmod) spadajú do troch kategórií v závislosti od toho, kto pristupuje k objektu:

    "Používateľ" - u (priamo vlastník súboru)

    "Skupina" - g (člen rovnakej skupiny ako vlastník)

    "Svet" - o (všetky ostatné)

Server určí, do ktorej skupiny používateľov patríte, keď sa pripojíte k serveru. Keď sa napríklad pripojíte k serveru cez FTP, potom sa prihlásite pomocou svojho používateľského mena (a hesla) a potom vás server zaradí do skupiny „user“ („u)“. Ostatní používatelia, ktorí sa tiež pripájajú cez FTP k serveru, budú zaradení do skupiny „skupina“ („g“) a používateľ, ktorý príde na vašu stránku pomocou svojho prehliadača, bude zaradený do skupiny „svet“ („o“) .

Variácie troch možných hodnôt „r“, „w“ a „x“ pre tri kategórie „u“, „g“ a „o“ určujú Chmod k súborom. Ak kategória nie je špecifikovaná, nahradí sa spojovníkom „-“. prístupové práva (Chmod) sú špecifikované postupne v danom poradí:

    najprv práva pre vlastníka sú "u"

    potom pre skupinu - "g"

    a na konci práva pre všetkých ostatných - "o"

Potom, čo server priradí používateľovi k určitú skupinu, udeľuje mu práva na prácu s objektmi, po ktorých môže používateľ súbor čítať, zapisovať alebo spúšťať (v závislosti od toho, čo jeho skupina smie s týmto objektom robiť). Ak chcete zobraziť obsah priečinka, musí mať atribút read "r" (pre skupinu, do ktorej server priradil používateľa). Ak chcete vytvoriť súbor alebo priečinok v existujúcom, musí mať v položke "w" atribút Chmod.

Pre názornosť sa pozrime na príklad, kde má vlastník súboru ("užívateľ" - "u") všetky práva: právo čítať, zapisovať doň a spúšťať a všetci ostatní používatelia majú právo iba čítať. Záznam takéhoto Chmoda bude vyzerať takto: "rwx r-- r--". Pozrime sa na to podrobne: "rwx" (táto položka nastavuje práva na objekt pre vlastníka - "u"), "r--" (táto položka nastavuje práva na rovnaký objekt, ale ak je používateľ priradený k skupina serverom - "g "), R-- "(táto položka nastavuje práva na objekt pre všetkých ostatných používateľov - o").

Ako sa líšia súbory a priečinky Chmod

Nedá sa nič robiť

Prístup k adresáru a jeho podadresárom je odmietnutý

Môžete vidieť a zmeniť obsah

Môžete pridať, odstrániť, zmeniť súbor priečinkov

Vykonajte, ak je súbor binárny

Používateľ môže spustiť binárny súbor, o existencii ktorého vie, do adresára je zakázané vstupovať a čítať ho

Číselná syntax Chmod (777)

Vidieť, že tu sa na popis prístupových práv používajú záznamy s latinskými písmenami a pomlčkami, ale určite ste sa už stretli s tým, že Chmod sa zvyčajne nastavuje v digitálnej podobe, napríklad známa kombinácia: Chmod 777, ktorá umožňuje všetko a všetkých. V skutočnosti sú prístupové práva (Chmod) tiež označené číslami:

    w (záznam) sa nahrádza 2

    x (verzia) sa nahrádza 1

0 znamená - nerobiť nič (čo je v doslovnom zápise označené pomlčkou) Vráťme sa k príkladu prístupových práv, ktorý som uviedol trochu skôr: rwx r-- r--. Ak v ňom nahradíme písmená a spojovníky číslami, v súlade s práve opísaným pravidlom, a zároveň sčítame čísla v každej trojici, dostaneme digitálnu podobu tohto záznamu: 744. ukazuje sa, že súčet týchto čísel ukazuje Chmod k súborom alebo priečinkom. Napríklad:

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

    5 (r-x) = 4 + 0 + 1 (čítať a spustiť)

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

    4 (r--) = 4 + 0 + 0 (iba na čítanie)

V tejto tabuľke sú uvedené všetky možné kombinácie Chmod napísané v digitálnej forme:

Teraz sa pozrime na rôzne kombinácie Chmod v číslach aplikované na skupiny používateľov:

""Vlastník""

""Skupina""

""Odpočívaj""

vykonať

vykonať

vykonať

Vy sami (okrem prípadu, keď na stránku pristupujete cez FTP) a všetci ostatní návštevníci vašej stránky patríte do skupiny „slovo“ (všetci ostatní), takže na prácu s webovou stránkou sa musíme najskôr pozrieť na posledné ( po tretie) číslica Chmod. Na to, aby používateľ „spustil súbor“ skriptu, keď používateľ pracuje so stránkou, bude stačiť, aby mal prístupové práva (Chmod), počnúc od „4“ (r-- - len na čítanie) (5,6,7 sú tiež ok, ale z hľadiska bezpečnosti to bude zbytočné).

"Pre priečinok", v ktorom sa nachádza súbor tohto skriptu, musíte nastaviť aspoň "5" (r-x - môžete prejsť do priečinka a prečítať si jeho obsah, nemôžete ho odstrániť ani pridať). 7 je tiež v poriadku, ale z hľadiska bezpečnosti bude tiež nadbytočný. Ak chcete, aby sa skript nielen čítal, ale aj „zapisoval“ niektoré údaje (napríklad zadané používateľom), minimálne práva na „priečinok“ budú stále „5“, ale pre „súbor“ “, budete potrebovať práva „6“ (Čítať a písať).

S najväčšou pravdepodobnosťou sa na serveri, kam ste skopírovali obsah enginu vašej stránky, do objektov nainštalujú nasledujúce Chmods:

Priečinky 755

vlastník (používateľ) môže všetko, skupina a všetci ostatní môžu priečinky iba čítať a vstupovať do nich, ale majú zakázané zapisovať súbory, meniť ich názvy a mazať ich v adresároch. (rwxr-xr-x)

Súbory 644

Ak by ste mali stránku pozostávajúcu iba z html, môžete to tak nechať. Moderné stránky sú však postavené na motoroch a môžu existovať objekty, v ktorých bude potrebné písať v mene používateľov zo skupiny „svet“ - o (všetci ostatní). Môžu to byť priečinky používané na ukladanie stránok do vyrovnávacej pamäte alebo priečinky, do ktorých sa budú načítavať obrázky pri práci so stránkou.Je samozrejmé, že ak na stránku prejdete cez FTP, môžete do týchto súborov alebo priečinkov zapisovať, ale práca s rozhraním webovej stránky , ako bežný používateľ môžete mať problémy. Preto je potrebné k inštalácii určitých Chmodov pristupovať selektívne.

Príkaz chmod (ZMENIŤ REŽIM- zmeniť režim) má veľmi špecifickú syntax. Všeobecná syntax:
ale to, čo ju charakterizuje, je, že zmena režimu môže mať mnoho podôb. Môže byť špecifikovaný dvoma spôsobmi:

  1. ako osmičkové číslo. Povolenia vlastníka v tomto prípade zodpovedajú číslam v tvare 00, kde zodpovedajú pridelenému povoleniu: 4 na čítanie, 2 na písanie a 1 na vykonávanie. Podobne, povolenia skupiny vlastníkov sú 0 a povolenia pre „ostatných“ sú. Potom všetko, čo musíte urobiť, je nájsť súčet povolení, ktoré chcete priradiť, aby ste získali požadovaný režim. Povolenia rwxr-xr-- teda zodpovedajú 400 + 200 + 100 (oprávnenia pre vlastníka, rwx) + 40 + 10 (oprávnenia pre skupinu, r-x) +4 (oprávnenia pre ostatných, r--) = 754; teda oprávnenia sú vyjadrené v podmienkach bezplatných členov. To znamená, že predchádzajúce povolenia sú bezpodmienečne nahradené;
  2. pomocou výrazov. V tomto prípade sú povolenia vyjadrené prostredníctvom sekvencie výrazov oddelených čiarkami. Výraz má teda nasledujúcu formu: [kategória]<+|-|=><разрешения> .
Príklady:
  • chmod -R o-w / zdieľané / docs: rekurzívne odstraňuje oprávnenie na zápis pre ostatných zo všetkých súborov a podadresárov v adresári / shared / docs /.
  • chmod -R og-w, o-x súkromné ​​/: rekurzívne odstraňuje oprávnenie na zápis pre skupinu a ostatných z celého súkromného / adresára a odstraňuje oprávnenie na spustenie pre zvyšok.
  • chmod -c 644 rôzne / súbor *: zmení povolenia pre všetky súbory v adresári misc /, ktorých názvy začínajú súborom na rw-r - r-- (t. j. oprávnenie na čítanie pre každého a oprávnenie na zápis len pre vlastníka) a hlási len tie súbory, ktoré boli ovplyvnené tím.

Nasledujúci príklad ukazuje, ako umožniť všetkým používateľom čítať, vykonávať zmeny a ukladať súbor. Ak to chcete urobiť, musíte zmeniť prístupové práva skupiny „ostatní“.
Do príkazového riadku zadajte:
ls -l example1.txt Na obrazovke sa zobrazia nasledujúce informácie:
-rw-rw-r-- 1 užívateľ užívateľ 42 Mar 24 22:07 example1.txt Teraz zadajte tento príkaz:
chmod o + w example1.txt Príkaz o + w znamená, že dávate „ostatným“ (označeným písmenom „o“) povolenie na zápis do súboru example1.txt. Ak chcete zistiť, k čomu viedlo vykonanie zadaného príkazu, pozrime sa znova na súbor:
-rw-rw-rw- 1 užívateľ užívateľ 42 Mar 24 22:09 example1.txt Každý teraz môže čítať a zapisovať do súboru.
Ak chcete zabrániť čítaniu a zápisu do súboru example1.txt, použite príkaz chmod.
chmod go-rw example1.txt Príkaz go-rw hovorí systému, že chcete zabrániť skupine a "ostatným" v čítaní a zápise do súboru example1.txt.
V dôsledku toho budú prístupové práva vyzerať takto:
-rw ------- 1 užívateľ užívateľ 42 Mar 24 22:10 example1.txt Tieto triedy a povolenia sú skratkou pre zodpovedajúce anglické slová, takže sú ľahko zapamätateľné: všetko, čo si potrebujete zapamätať, je niekoľko znakov a písmená.
Tu je zoznam prepisov týchto skratiek:

Triedy u – používateľ, ktorý vlastní súbor (z anglického „user“);
g - skupina, do ktorej používateľ patrí (z anglického „group“);
o - zvyšok (nie vlastník a nie vlastník skupiny, z anglického „ostatní“);
a - všetko (u, g a o, z anglického "all"). Práva r - právo čítať;
w - právo písať;
x je právo na vykonanie. Akcie + - dáva právo;
- - odoberá právo;
= - vyhradzuje si len dané právo.

Chcete si otestovať svoje vedomosti? Odstráňte všetky používateľské práva na example1.txt všetkým používateľom.
chmod a-rwx example1.txt Teraz skontrolujte, či viete čítať tento súbor pomocou príkazu cat example1.txt. Mali by ste vidieť nasledovné:
cat: example1.txt: Povolenie odmietnuté Odvolaním všetkých práv, vrátane vašich vlastných, ste zablokovali prístup k súboru. Ale keďže súbor patrí vám, práva môžete kedykoľvek obnoviť pomocou nasledujúceho príkazu:
chmod u + rw example1.txt Aby ste sa uistili, že daný súbor dokážete prečítať, použite cat example1.txt.
Tu je niekoľko príkladov použitia príkazu chmod:

  • g + w - dáva vlastníkovi skupiny povolenie na zápis;
  • o-rwx - odoberá všetky práva ostatným používateľom;
  • u + x - dáva vlastníkovi právo vykonať súbor;
  • a + rw - umožňuje komukoľvek čítať a zapisovať do súboru;
  • ug + r - umožňuje vlastníkovi a skupine čítať súbor;
  • g = rx - Umožňuje skupine čítať a spúšťať súbor (nie zapisovať doň).

Voľba -R vám umožňuje zmeniť práva pre celý strom adresárov.
Keďže adresáre nie je možné „spúšťať“ ako aplikácie, pridanie alebo odstránenie príslušného práva znamená povolenie (alebo neumožnenie) prezerania adresára.
Ak napríklad zabránite iným používateľom spúšťať dokumenty/adresár, nezáleží na tom, kto má povolenie na čítanie/zápis. Nikto nemá prístup k obsahu adresára, pokiaľ nepozná presný názov súboru, ktorý obsahuje.
Napíšte napríklad:
chmod a-x docs na odvolanie povolenia na spustenie všetkým používateľom.
Ak sa teraz pokúsite zmeniť adresár pomocou príkazu cd docs, budete odmietnutí:
bash: docs: Povolenie odmietnuté Vráťte sebe a svojej skupine práva:
chmod ug + x docs Ak teraz skontrolujete výsledky svojich akcií pomocou príkazu ls -l, uvidíte, že prístup k adresáru docs / je zakázaný iba ostatným používateľom.