Príkaz chmod pre Linux sa používa na zmenu prístupových práv k súborom a adresárom. To znamená zmeniť režim . Nemôže zmeniť povolenie symbolických odkazov. Dokonca ignoruje symbolické odkazy, ktoré narazia na rekurzívny prechod cez adresár.
V Linux súborový systém, každý súbor je spojený s konkrétnym vlastníkom a má prístupové práva pre rôznych používateľov. Triedy používateľov môžu byť:
- vlastník
- člen skupiny
- Iní (všetci ostatní)
Povolenia súborov v systéme Linux sú tieto tri typy:
- prečítať (r)
- napísať (w)
- vykonať (x)
Stručná história Chmod
Po prvé, príkaz chmod je reprezentovaný v AT&T UNIX verzie 1 so systémovým volaním chmod. Zoznamy riadenia prístupu boli zahrnuté v niekoľkých súborových systémoch v rámci týchto najbežnejších režimov, aby sa zvýšila flexibilita, pretože systémy rástli čo do typov a počtu používateľov.
Verziu chmod usporiadanú v GNU coreutils špecifikovali Jim Meyering a David MacKenzie. Tento príkaz je prítomný ako izolovaný balík pre Microsoft Windows ako prvok natívnej kolekcie portov Win32 UnxUtils základných nástrojov podobných GNU Unix. Do operačného systému IBM i bol dodaný aj príkaz chmod.
Pozrime sa, ako zmeniť oprávnenie súboru pomocou príkazu chmod.
Syntax:
čo je prípad v sql
Základná syntax príkazu chmod je nasledovná:
chmod
Všeobecne implementované možnosti sú:
Cieľový objekt je ovplyvnený, ak je uvedený symbolický odkaz. Režimy súborov súvisiace priamo so samotnými symbolickými odkazmi sa zvyčajne nepoužívajú.
Primárna súčasť povolenia chmod:
napr. rwxr-x---
Všetky skupiny troch znakov určujú povolenia pre všetky triedy:
Možnosti:
Príkaz chmod podporuje nasledujúce možnosti príkazového riadka:
strint do int
-c, --zmeny: Je to podobné ako pri podrobnej možnosti, ale rozdiel je v tom, že sa ohlási, ak bola vykonaná zmena.
-f, --tichý, --tichý: Používa sa na potlačenie chybových hlásení.
-v, --verbose: Používa sa na zobrazenie diagnostiky pre každý spracovávaný súbor.
--no-preserve-root: Používa sa na neošetrenie symbolu spätnej lomky ('/'), najmä (predvolené).
--preserve-root: Ak použijete túto možnosť, nebude fungovať rekurzívne na obrátenej lomke ('/').
--reference=RFILE: Používa sa na určenie režimu RFILE alebo hodnôt MODE.
-R, --rekurzívne: Používa sa na rekurzívne zmeny súborov a adresárov.
--Pomoc: Používa sa na zobrazenie príručky pomocníka so stručným popisom použitia a možností podpory.
--verzia: Používa sa na zobrazenie informácií o verzii.
Syntax povolenia súboru
Ak ste novým používateľom, môžete sa zmiasť rôznymi typmi písmen používaných na nastavenie povolenia súboru. Takže predtým, ako budeme pokračovať s príkazom chmod, pochopme syntax povolenia súboru.
Ak chcete nastaviť povolenie súboru alebo adresára, musíme zadať nasledujúce veci:
- Kto: Kto sme. (používateľ)
- Čo: Akú zmenu vykonáme (napríklad pridanie alebo odstránenie povolenia)?
- Ktoré: Ktoré z povolení?
Vyhlásenie o povolení je reprezentované indikátormi ako u+x, u-x. Kde „u“ znamená „používateľ“, „+“ znamená pridať, „-“ znamená odstrániť, „x“ znamená spustiteľný súbor (ktorý).
vlc stiahnite si videá z youtube
Užívateľská hodnota môže byť:
u: vlastník súboru
g: člen skupiny
o: ostatné
a: všetky
Typy povolení môžu byť r, w a x.
Nastavenie a aktualizácia povolení
Ak chcete nastaviť oprávnenie súboru, vykonajte príkaz oprávnenia pomocou príkazu chmod. Napríklad chceme nastaviť oprávnenie na čítanie a zápis pre všetkých používateľov a skupiny súboru 'Demo.txt.' Príkazom chmod musíme odovzdať vyhlásenie o povolení 'u=rw,go=rw Demo.txt'. Ak chcete zobraziť oprávnenie súboru, vykonajte nasledujúci príkaz:
ls -l Demo.txt
Vyššie uvedený príkaz zobrazí aktuálne oprávnenie súboru 'Demo.txt' súboru.
Ak chcete zmeniť povolenie, vykonajte nasledujúci príkaz:
chmod u=rw,go=rw Demo.txt
Zvážte nasledujúci výstup:
Z vyššie uvedeného výstupu sa zmenilo prístupové povolenie 'Demo.txt'.
Nastavenie povolení pre viacero súborov
Povolenie pre viacero súborov naraz môžeme nastaviť pomocou príkazu chmod. Ak chcete zmeniť oprávnenie viacerých súborov, zadajte vzor súboru pomocou príkazu chmod. Napríklad, ak chceme nastaviť oprávnenie na čítanie a zápis pre všetky textové súbory, zadajte *. txt vzor s príkazom chmod.
Ak chcete zobraziť povolenia všetkých textových súborov z aktuálneho pracovného adresára, vykonajte nasledujúci príkaz:
ls -l *.txt
Zobrazí zoznam všetkých textových súborov s ich režimom povolení. Zvážte nasledujúci výstup:
Z vyššie uvedeného výstupu má veľa súborov iba povolenie na čítanie pre iných používateľov.
Ak chcete nastaviť oprávnenie na čítanie a zápis pre ostatných používateľov, vykonajte nasledujúci príkaz:
chmod o+w *.txt
Nastaví oprávnenie na čítanie a zápis pre ostatných používateľov textových súborov. Zvážte nasledujúci výstup:
Číselná skratka
Na určenie oprávnení môžeme namiesto písmen použiť číselné hodnoty. Na určenie povolenia sa používa trojciferná hodnota. Číslica úplne vľavo predstavuje vlastníka (u) a stredná číslica predstavuje členov skupiny (g). Číslica úplne vpravo predstavuje ostatné (o).
Nasledujúca tabuľka predstavuje číslice a ich povolenia:
Číslice | Povolenia |
---|---|
000 | Bez povolenia |
001 | Vykonať povolenie |
010 | Povolenie na zápis |
011 | Písať a vykonávať povolenia |
100 | Povolenie na čítanie |
101 | Čítať a vykonávať povolenia |
110 | Povolenia na čítanie a zápis |
111 | Povolenia na čítanie, zápis a vykonávanie |
Symbolické režimy
Príkaz chmod tiež akceptuje jemnejšiu symbolickú notáciu, ktorá umožňuje zmenu špecifických režimov. Symbolický režim pozostáva z troch prvkov, ktoré sú zlúčené do jedného textového reťazca:
$ chmod [references] [operator] [modes] file...
Program chmod aplikuje operátor na definovanie toho, ako by mali byť usporiadané režimy súborov. Schválení sú nižšie uvedení operátori:
Operátor | Popis | |
---|---|---|
+ | Pridáva popísané k popísaným triedam. | |
- | Odstráni opísaný režim z opísaných tried. | |
= | Znamená to, že opísané režimy majú byť vytvorené rovnakými režimami pre opísané triedy. |
Režimy predstavujú, ktoré povolenia budú z opísaných tried odstránené alebo udelené. Existujú hlavne tri bežné režimy, ktoré súvisia so spoločnými povoleniami:
názov | Režim | Popis |
---|---|---|
čítať | r | Prečíta súbor alebo vypíše obsah adresára. |
písať | In | Zapisuje do adresára alebo súboru. |
vykonať | X | Opakuje strom adresárov alebo spustí súbor. |
špeciálne vykonať | X | Nie je to povolenie, ale namiesto toho sa dá použiť namiesto x. Používa povolenia na spustenie pre adresáre napriek ich aktuálnym povoleniam a používa povolenia na spustenie pre súbor, ktorý má nastavený aspoň bit povolenia na spustenie. Je užitočné, ak sa používa s operátorom '+' a bez nastavenia povolenia na vykonanie, čo by sa stalo, keby sme použili iba chmod -R a+rx ., zatiaľ čo môžeme implementovať chmod -R a+rx . skôr s x. |
Viaceré modifikácie možno opísať oddelením viacerých symbolických režimov spolu s čiarkami. Príkaz chmod skontroluje súbor umaskovať ak nie je určený používateľ.
Špeciálne režimy
Príkaz chmod môže tiež zmeniť špeciálne režimy a ďalšie povolenia adresára alebo súboru. Symbolické režimy používajú „s“ na označenie režimov setgid a setuid a „t“ na označenie režimu prilepenia. Režim sa používa iba pre správne triedy bez ohľadu na to, či sú uvedené iné triedy alebo nie.
Takmer všetky operačné systémy číselne podporujú špecifikáciu špeciálneho režimu, konkrétne v osmičkovom formáte, ale niektoré nie. Na tieto systémy možno použiť iba symbolické režimy.
java bod
Niekoľko príkladov príkazového riadku:
Príkaz | Popis |
---|---|
chmod a+r publicComments.txt | Pridá oprávnenie na čítanie pre každú triedu (t. j. skupinu, vlastníka a ďalšie). |
chmod a-x publicComments.txt | Odstráni povolenie na vykonanie pre každú triedu. |
chmod a+rx viewer.sh | Pridá povolenia na spustenie a čítanie pre každú triedu. |
chmod u=rw, g=r, o=internalPlan.txt | Nastaví oprávnenia na zápis a čítanie pre používateľa, ser čítanie pre skupinu a odmietnutie prístupu pre ostatných. |
chmod -R u+w, go-w docs | Zahrnie povolenie na zápis do adresára docs a každého jeho obsahu pre vlastníka a odstráni povolenie na zápis pre ostatných a skupinu. |
chmod a=rw groupAgreements.txt | Nastaví oprávnenia na zápis a čítanie pre skupinu a používateľa. |
chmod 664 global.txt | Nastaví povolenia na zápis a čítanie pre skupinu a používateľa a udelí povolenie na čítanie ostatným. |
chmod 744 Show_myCV.sh | Používateľovi nastaví povolenia na spustenie, zápis a čítanie a udelí povolenie na čítanie skupine a ostatným. |