reklama

Takže vy jste našel chuť Linuxu, která se vám líbí, ale teď jste zmatení, protože nemáte nejmenší ponětí o příkazech terminálu a souborových oprávněních systému Linux?

Nebo možná máte web hostovaný na serveru Linux a narazili jste na některé problémy s oprávněními k souborům, které lze vyřešit pouze pomocí magie příkazového řádku.

Bez ohledu na to, jeden z nejdůležitější linuxové příkazy k učení A-Z Linuxu - 40 základních příkazů, které byste měli znátLinux je často ignorovaným třetím kolem Windows a Mac. Ano, v průběhu posledního desetiletí si operační systém s otevřeným zdrojovým kódem získal velkou trakci, ale stále ještě není daleko k uvažování ... Přečtěte si více je malý, ale mocný příkaz chmod. Než ale vysvětlíme, co příkaz dělá, musíme nejprve trochu porozumět tomu, jak Linux zpracovává zabezpečení souborů.

Základy oprávnění k souborům v systému Linux

Operační systémy Linux jsou ve skutečnosti systémy podobné Unixu (porozumění Linuxu vs. Unix) a unixové systémy přistupují k souborovým oprávněním jako je tato:

instagram viewer

Každý soubor má majitel, což určuje „uživatelskou třídu“ souboru. Každý soubor má také skupina, což určuje „skupinovou třídu“ souboru. Každý uživatel systému, který není vlastníkem a nepatří do stejné skupiny, je určen jako uživatel ostatní.

Všechny soubory v unixových systémech mají oprávnění přiřazená všem třem třídám a ty určují, jaké akce mohou dané třídy pro daný soubor provést.

Tři akce dostupné v unixovém systému jsou: číst (schopnost otevřít a zobrazit obsah souboru), napsat (schopnost otevírat a upravovat obsah souboru) a vykonat (schopnost spustit soubor jako spustitelný program).

Jinými slovy, oprávnění souboru určují, zda:

  • Vlastník může soubor číst, zapisovat a provádět.
  • Skupina může soubor číst, zapisovat a spouštět.
  • Soubor může číst, psát a spouštět kdokoli jiný.

Oprávnění k souborům systému Linux lze zobrazit ve dvou formátech.

Je volán první formát symbolický zápis, což je řetězec 10 znaků: jeden znak představující typ souboru, poté devět znaků které představují souborová práva pro čtení (r), zápis (w) a spouštění (x) oprávnění v pořadí vlastníka, skupiny a ostatní. Pokud to není povoleno, použije se symbol pomlčky (-).

Například:

-rwxr-xr--

To znamená, že se jedná o běžný soubor s oprávněními ke čtení, zápisu a spouštění pro vlastníka; číst a spouštět oprávnění pro skupinu; a oprávnění ke čtení pouze pro všechny ostatní.

Volá se druhý formát numerická notace, což je řetězec tří číslic, z nichž každý představuje oprávnění uživatele, skupiny a další oprávnění. Každá číslice se může pohybovat od 0 do 7 a hodnota každé číslice se získá sčítáním oprávnění třídy:

  • 0 znamená, že nejsou povolena žádná oprávnění.
  • +1, pokud třída dokáže soubor spustit.
  • +2, pokud třída může zapisovat do souboru.
  • +4, pokud třída dokáže soubor přečíst.

Jinými slovy, význam každé číselné hodnoty končí:

  • 0: Žádné povolení
  • 1: Provedení
  • 2: Napište
  • 3: Napište a spusťte
  • 4: Číst
  • 5: Přečíst a spustit
  • 6: Čtení a zápis
  • 7: Čtení, zápis a provádění

Takže výše uvedený příklad (-rwxr-xr--) by bylo v číselném zápisu 754.

To jsou oprávnění souboru Linux v kostce.

Co je Chmod?

Na unixových systémech chmod je příkaz na systémové úrovni, který znamená „režim změny“ a umožňuje vám ručně změnit nastavení oprávnění souboru.

Nesmí se zaměňovat chown, což je další příkaz na systémové úrovni v unixových systémech, který znamená „změnit vlastníka“ a umožňuje vám přiřadit vlastnictví souboru jinému uživateli, nebo chgrp, což znamená „změnit skupinu“ a přiřadí soubor jiné skupině. To je důležité vědět, ale ne tak běžně jako chmod.

Co znamená Chmod 644?

Nastavení oprávnění souboru na 644 způsobí, že k souboru může přistupovat a upravovat jej pouze vlastník chtít, zatímco všichni ostatní mohou přistupovat pouze bez úprav a nikdo nemůže provést soubor - ani majitel. Toto je ideální nastavení pro soubory, které jsou veřejně přístupné, protože vyrovnává flexibilitu se zabezpečením.

Co znamená Chmod 755?

Nastavení oprávnění souboru na 755 je v podstatě to samé jako u 644, kromě toho, že každý má také oprávnění ke spouštění. Používá se hlavně pro veřejně přístupné adresáře, protože ke změně do adresáře je potřeba oprávnění ke spuštění.

Co znamená Chmod 555?

Pokud nastavíte oprávnění souboru na 555, bude to tak, že soubor nebude moci změnit nikdo kromě superuživatele systému (Další informace o superuživateli systému Linux Co je SU a proč je důležité používat Linux efektivně?Linux SU nebo root uživatelský účet je výkonný nástroj, který může být nápomocný při správném použití nebo zničující, pokud je použit bezohledně. Podívejme se, proč byste měli být při používání SU zodpovědní. Přečtěte si více ). Toto se běžně nepoužívá jako 644, ale je to stále důležité vědět, protože nastavení jen pro čtení zabraňuje náhodným změnám nebo neoprávněným zásahům.

Co znamená Chmod 777?

Nastavení oprávnění souboru na 777 umožňuje, aby se souborem mohl dělat kdokoli, co chce. Toto je obrovské bezpečnostní riziko, zejména na webových serverech! Doslova kdokoli může přistupovat k souboru, upravovat jej, jak chce, a provést jej v systému. Můžete si představit potenciální poškození, pokud se na něj dostane nečestný uživatel.

Jak používat Chmod v Linuxu

Příkaz chmod má jednoduchý formát:

chmod [oprávnění] [soubor]

Oprávnění lze udělit číselným zápisem, což je nejlepší formát, který chcete použít, když chcete přiřadit konkrétní oprávnění pro všechny třídy:

chmod 644 example.txt

Oprávnění lze také udělit symbolickým zápisem, což je užitečné, pokud chcete pouze upravit oprávnění určité třídy. Například:

chmod u = rwx example.txt. chmod g = rw example.txt. chmod o = rw example.txt

Oprávnění můžete upravovat pro více tříd, například v tomto příkladu, který nastavuje vlastníka, aby četl / zapisoval / spouštěl, ale skupina a ostatní číst / spouštět:

chmod u = rwx, g = rw, o = rw example.txt

Při přiřazování stejných oprávnění více třídám je můžete kombinovat:

chmod u = rwx, go = rw example.txt

Krása použití symbolického zápisu však září, pokud chcete pouze přidat nebo odebrat oprávnění pro konkrétní akci pro konkrétní třídu.

Například toto dodává oprávnění ke spuštění vlastníka souboru:

chmod u + x example.txt

A tohle odstraní oprávnění pro zápis a spouštění pro ostatní uživatele:

chmod o-wx example.txt

A konečně, pokud chcete použít konkrétní sadu oprávnění na všechny soubory a složky v konkrétním adresáři (tj. Rekurzivní chmod), použijte volbu -R a cílové adresáře:

chmod -R 755 example_directory

Zatímco příkaz chmod vypadá na první pohled trochu šíleně, je to ve skutečnosti celkem jednoduché a zcela logické. Pokud výše uvedenému rozumíte, jste v podstatě zvládli chmod!

Další informace o masteringu Linuxu

Příkazy jako chmod, chown a chgrp jsou jen špičkou ledovce Linuxu. Pokud jste v operačním systému zcela nový, doporučujeme vám je vyzkoušet elegantní triky pro nováčky Linuxu stejně jako tyto Příkazy systému Linux, které byste nikdy neměli spouštět.

A co je nejdůležitější, nejlépe byste se měli podívat na naše obsáhlý průvodce začátečníky pro Ubuntu a Linux Ubuntu: Příručka pro začátečníkyZajímá vás Ubuntu, ale nejste si jisti, kde začít? Všechno, co byste mohli potřebovat, abyste mohli začít s nejnovější verzí Ubuntu, je právě zde, psáno v srozumitelné a srozumitelné angličtině. Přečtěte si více , která vás naučí vše, co potřebujete vědět, abyste mohli začít a dostatečně se seznámit, abyste se cítili pohodlně.

Joel Lee má B.S. v oblasti informatiky a více než šest let praxe v psaní. Je šéfredaktorem MakeUseOf.