Oprávnění a práva v systému Linux

Kolik z nás potřebovalo „omezit přístup“ k souborům obsaženým v určitém adresáři / složce, nebo prostě musíme zabránit některým lidem v prohlížení, mazání nebo úpravách obsahu určitého souboru? Více než jeden, že? Můžeme toho dosáhnout u našeho milovaného tučňáka? Odpověď je: Samozřejmě ano : D.

Úvod

Mnozí z nás, kteří pocházejí z Windows, byli zvyklí řešit tento „problém“ velmi odlišným způsobem, k dosažení tohoto cíle jsme se museli uchýlit k neortodoxním „technikám“, jako je skrývání souboru přes jeho atributy, přesunutí našich informace do nejvzdálenějšího místa našeho týmu (do 20,000 XNUMX složek), abychom se pokusili odradit naše „nepřátelské“ XD, změnou nebo odstraněním přípony souboru nebo nejběžnějšími „postupy“, stáhněte si program, který nám to umožní “ zavřít ”náš adresář za pěkným dialogovým oknem, které od nás požaduje heslo pro přístup. Měli jsme mnohem lepší alternativu? Ne.

btrfs
Související článek:
Jak připojit pevné disky nebo oddíly pomocí terminálu

Je mi velmi líto mých přátel „Windolero“ (říkám to s velkou náklonností, aby se nikdo neurazil, ok ?;)), ale dnes se musím trochu naučit pomocí Windows: P, protože vysvětlím, proč tento OS neumožňuje nativní tuto funkci.

Kolik z vás si všimlo, že když sedíme za počítačem „Windows“ (i když to není náš), automaticky se stáváme vlastníky všeho, co počítač obsahuje (obrázky, dokumenty, programy atd.)? Co tím myslím? Jednoduše převzetím „kontroly nad Windows“ můžeme kopírovat, přesouvat, mazat, vytvářet, otevírat nebo upravovat složky a soubory vlevo a vpravo bez ohledu na to, zda jsme „vlastníky“ těchto informací nebo ne. To odráží hlavní bezpečnostní chybu v operačním systému, že? To je vše proto, že operační systémy Microsoftu nebyly od základu navrženy tak, aby byly víceuživatelské. Když byly vydány verze systému MS-DOS a některé verze systému Windows, plně věřily, že koncový uživatel bude odpovědný za „ostrahu“ svého příslušného počítače, aby žádný jiný uživatel neměl přístup k informacím uloženým v něm ... naivní ¬ ¬. Nyní přátelé WinUsers, víte, proč existuje toto „tajemství“: D.

Na druhou stranu, GNU / Linux, protože je to systém navržený zásadně pro práci v síti, je zabezpečení informací, které ukládáme do našich počítačů (nemluvě o serverech), zásadní, protože mnoho uživatelů bude mít nebo může mít přístup k část softwarových prostředků (aplikací i informací) a hardwaru, které jsou na těchto počítačích spravovány.

Nyní vidíme, proč je potřeba systém povolení? Pojďme se dostat k tématu;).

Související článek:
DU: jak zobrazit 10 adresářů, které zabírají nejvíce místa

V GNU / Linux jsou oprávnění nebo práva, která mohou mít uživatelé k určitým souborům v něm obsaženým, stanovena na třech jasně odlišených úrovních. Tyto tři úrovně jsou následující:

Povolení vlastníka.
Skupinová oprávnění.
Oprávnění ostatních uživatelů (nebo také nazývaných „ostatní“).

Aby bylo jasné o těchto konceptech, v síťových systémech (jako je tučňák) vždy existuje postava administrátora, superuživatele nebo root. Tento správce má na starosti vytváření a odebírání uživatelů a také vytváření oprávnění, která každý z nich bude mít v systému. Tato oprávnění jsou stanovena jak pro adresáře HOME každého uživatele, tak pro adresáře a soubory, ke kterým má správce přístup.

Oprávnění vlastníka

Vlastníkem je uživatel, který generuje nebo vytváří soubor / složku ve svém pracovním adresáři (HOME) nebo v jiném adresáři, na který má práva. Každý uživatel má možnost vytvářet ve výchozím nastavení soubory, které chce, v rámci svého pracovního adresáře. V zásadě to bude on a pouze on, kdo bude mít přístup k informacím obsaženým v souborech a adresářích, které jsou ve vašem domovském adresáři.

Skupinová oprávnění

Nejběžnější věcí je, že každý uživatel patří do pracovní skupiny. Tímto způsobem se při správě skupiny spravují všichni uživatelé, kteří do ní patří. Jinými slovy, je snazší integrovat několik uživatelů do skupiny, kterým jsou v systému udělena určitá oprávnění, než je každému uživateli přiřadit samostatně.

Oprávnění ostatních uživatelů

A konečně mohou mít oprávnění k souborům obsaženým v libovolném adresáři také další uživatelé, kteří nepatří do pracovní skupiny, do které je daný soubor integrován. Jinými slovy, uživatelé, kteří nepatří do pracovní skupiny, ve které je soubor umístěn, ale kteří do jiných pracovních skupin patří, se nazývají ostatní uživatelé systému.

Velmi pěkné, ale jak to všechno mohu identifikovat? Jednoduché, otevřete terminál a proveďte následující:

$ ls -l

Nota: Jsou to malá písmena „L“ 

Zobrazí se něco jako následující:

Jak vidíte, tento příkaz zobrazuje nebo „vypisuje“ obsah mého DOMŮ, s čím máme co do činění, jsou červené a zelené čáry. Červené pole ukazuje, kdo je vlastníkem, a zelené pole označuje, do které skupiny patří každý z výše uvedených souborů a složek. V tomto případě se majitel i skupina nazývají „Perseus“, ale pravděpodobně narazili na jinou skupinu, například „prodej“. Pro zbytek se zatím nebojte, uvidíme později: D.

Typy oprávnění v GNU / Linux

Než se naučíme, jak nastavit oprávnění v GNU / Linuxu, musíme vědět, jak lze odlišit různé typy souborů, které systém může mít.

Každý soubor v GNU / Linux je identifikován 10 znaky, které jsou volány maska. Z těchto 10 znaků první (zleva doprava) odkazuje na typ souboru. Následující 9, zleva doprava a v blocích po 3, odkazují na udělená oprávnění vlastníkovi, skupině a zbytku nebo ostatním. Screenshot, který předvádí všechny tyto věci:

První znak souborů může být následující:

Promiňte Identifikovat
- archiv
d Adresář
b Speciální blokový soubor (speciální soubory zařízení)
c Soubor speciálních znaků (zařízení tty, tiskárna ...)
l Odkazový soubor nebo odkaz (měkký / symbolický odkaz)
p Speciální pilník kanálu (trubka nebo trubka)

Dalších devět znaků jsou oprávnění udělená uživatelům systému. Odkazuje se na každé tři znaky, vlastníka, skupinu a další uživatelská oprávnění.

Znaky, které definují tato oprávnění, jsou následující:

Promiňte Identifikovat
- Bez povolení
r Povolení ke čtení
w Oprávnění k zápisu
x Povolení k provedení

Oprávnění k souborům

Čtení: v zásadě umožňuje zobrazit obsah souboru.
Zápis: umožňuje upravit obsah souboru.
Provedení: umožňuje spuštění souboru, jako by to byl spustitelný program.

Oprávnění adresáře

Číst: Umožňuje zjistit, jaké soubory a adresáře obsahuje adresář, který má toto oprávnění.
Zápis: umožňuje vytvářet soubory v adresáři, buď běžné soubory, nebo nové adresáře. Adresáře lze mazat, soubory zkopírovat do adresáře, přesouvat, přejmenovávat atd.
Provedení: umožňuje procházet adresář, abyste mohli prozkoumat jeho obsah, kopírovat soubory z něj nebo do něj. Pokud máte také oprávnění ke čtení a zápisu, můžete provádět všechny možné operace se soubory a adresáři.

Nota: Pokud nemáte oprávnění k provádění, nebudeme mít přístup k tomuto adresáři (i když použijeme příkaz „cd“), protože tato akce bude zamítnuta. Umožňuje také omezit použití adresáře jako součásti cesty (například když předáme cestu souboru nalezeného v tomto adresáři jako referenci. Předpokládejme, že chceme zkopírovat soubor „X.ogg“, který je ve složce. “ / home / perseo / Z “- pro které složka„ Z “nemá oprávnění ke spuštění - udělali bychom následující:

$ cp /home/perseo/Z/X.ogg /home/perseo/Y/

získání této chybové zprávy, která nám říká, že nemáme dostatečná oprávnění pro přístup k souboru: D). Pokud je oprávnění k provedení adresáře deaktivováno, budete moci vidět jeho obsah (pokud máte oprávnění ke čtení), ale nebudete mít přístup k žádnému z objektů v něm obsažených, protože pro tento adresář je součástí potřebné cesty zjistit polohu svých objektů.

Správa oprávnění v GNU / Linux

Zatím jsme viděli, jaká oprávnění jsou pro nás v GNU / Linux, dále uvidíme, jak přiřadit nebo odečíst oprávnění nebo práva.

Před spuštěním musíme mít na paměti, že když registrujeme nebo vytváříme uživatele v systému, automaticky jim udělujeme oprávnění. Tato oprávnění samozřejmě nebudou úplná, to znamená, že uživatelé obvykle nebudou mít stejná oprávnění a práva jako superuživatel. Když je uživatel vytvořen, systém ve výchozím nastavení generuje oprávnění uživatele pro správu souborů a správu adresářů. Je zřejmé, že je může administrátor upravit, ale systém generuje víceméně platná oprávnění pro většinu operací, které každý uživatel provede ve svém adresáři, souborech a adresářích a souborech jiných uživatelů. Obvykle se jedná o následující oprávnění:

<° Pro soubory: - rw-r-- r--
<° Pro adresáře: - rwx rwx rwx

Nota: nejsou to stejná oprávnění pro všechny distribuce GNU / Linux.

Tato oprávnění nám umožňují vytvářet, kopírovat a mazat soubory, vytvářet nové adresáře atd. Podívejme se na to všechno v praxi: D:

Vezměme si jako příklad soubor „Advanced CSS.pdf“. Všimněme si, že to vypadá následovně: -rw-r--r-- … Advanced CSS.pdf. Podívejme se blíže.

Tipo uživatel Skupina Zbytek uživatelů (ostatní) Název souboru
- rw - r-- r-- Pokročilý CSS.pdf

Tohle znamená tamto:

<° Typ: archiv
<° Uživatel může: Číst (zobrazit obsah) a zapsat (upravit) soubor.
<° Skupina, do které uživatel patří, může: Číst (pouze) soubor.
<° Ostatní uživatelé mohou: Číst (pouze) soubor.

Pro ty zvědavé, kteří se v tuto chvíli zajímají, na co se vztahují ostatní pole seznamu získaného pomocí ls -l, je zde odpověď:

Pokud se chcete dozvědět více o pevných a měkkých / symbolických odkazech, zde je vysvětlení a jejich diferencias.

Přátelé, přicházíme k nejzajímavější a nejtěžší části dotyčného subjektu ...

Přiřazení oprávnění

Příkaz chmod ("Změnit režim") umožňuje upravit masku tak, aby bylo možné provádět více nebo méně operací se soubory nebo adresáři, jinými slovy, pomocí chmod můžete odebrat nebo odebrat práva pro každý typ uživatele. Pokud není specifikován typ uživatele, kterému chceme odebrat, dát nebo přiřadit oprávnění, co se stane při provedení operace, bude mít vliv na všechny uživatele současně.

Základní věc, kterou si musíte pamatovat, je, že udělujeme nebo odebíráme oprávnění na těchto úrovních:

Parametr Nivel popis
u majitel vlastník souboru nebo adresáře
g skupina skupina, do které soubor patří
o otros všichni ostatní uživatelé, kteří nejsou vlastníkem ani skupinou

Typy oprávnění:

Promiňte Identifikovat
r Povolení ke čtení
w Oprávnění k zápisu
x Povolení k provedení

 Udělte vlastníkovi povolení k provedení:

$ chmod u+x komodo.sh

Odebrat oprávnění ke spuštění všem uživatelům:

$ chmod -x komodo.sh

Udělte ostatním uživatelům oprávnění ke čtení a zápisu:

$ chmod o+r+w komodo.sh

Skupině, do které soubor patří, ponechejte oprávnění pouze ke čtení:

$ chmod g+r-w-x komodo.sh

Oprávnění v osmičkovém číselném formátu

Existuje další způsob použití příkazu chmod, který je pro mnoho uživatelů „pohodlnější“, i když a priori je jeho pochopení o něco složitější ¬¬.

Kombinace hodnot každé skupiny uživatelů tvoří osmičkové číslo, bit „x“ je 20, což je 1, bit w je 21, což je 2, bit r je 22, což je 4, máme tedy:

r = 4
w = 2
x = 1

Kombinace bitů zapnuto nebo vypnuto v každé skupině poskytuje osm možných kombinací hodnot, tj. Součet bitů na:

Promiňte Osmičková hodnota popis
- - - 0 nemáte žádné povolení
- - x 1 provést pouze povolení
- w - 2 pouze povolení k zápisu
- š 3 zapisovat a provádět oprávnění
r - - 4 pouze ke čtení
r - x 5 číst a spouštět oprávnění
rw - 6 oprávnění ke čtení a zápisu
rwx 7 všechna oprávnění nastavit, číst, zapisovat a spouštět

Když jsou kombinována uživatelská, skupinová a další oprávnění, získáte třímístné číslo, které tvoří oprávnění k souboru nebo adresáři. Příklady:

Promiňte chrabrost popis
rw- --- -- 600 Vlastník má oprávnění ke čtení a zápisu
rwx --X --x 711 Vlastník čte, zapisuje a spouští, skupina a ostatní pouze provádějí
rwx rx rx 755 Čtení, zápis a spuštění vlastník, skupina a další mohou číst a spouštět soubor
rwx rwx rwx 777 Soubor může číst, zapisovat a provádět kdokoli
r-- --- -- 400 Pouze vlastník může číst soubor, ale nemůže jej ani upravovat ani spouštět a samozřejmě ani skupina, ani ostatní v něm nemohou nic dělat.
rw-r-- --- 640 Uživatel vlastníka může číst a psát, skupina může číst soubor a ostatní nemohou dělat nic

Zvláštní oprávnění

Stále je třeba zvážit další typy povolení. Jedná se o bit oprávnění SUID (Set User ID), bit oprávnění SGID (Set Group ID) a lepivý bit (bit oprávnění perzistence).

setuid

Bit setuid je přiřaditelný spustitelným souborům a umožňuje, že když uživatel provede uvedený soubor, proces získá oprávnění vlastníka spuštěného souboru. Nejjasnějším příkladem spustitelného souboru s bitem setuid je:

$ su

Vidíme, že bit je přiřazen jako „s“ v následujícím záznamu:

Chcete-li tento bit přiřadit k souboru, bylo by to:

$ chmod u+s /bin/su

A odstranit:

$ chmod u-s /bin/su

Nota: Tento bit musíme používat s maximální opatrností, protože může způsobit eskalaci privilegií v našem systému ¬¬.

setgid

Setid bit umožňuje získat oprávnění skupiny přiřazené souboru, lze jej také přiřadit adresářům. To bude velmi užitečné, když několik uživatelů stejné skupiny potřebuje pracovat se zdroji ve stejném adresáři.

K přiřazení tohoto bitu uděláme následující:

$ chmod g+s /carpeta_compartida

A odstranit:

$ chmod g-s /carpeta_compartida

lepkavý

Tento bit je obvykle přiřazen v adresářích, ke kterým mají přístup všichni uživatelé, a umožňuje zabránit uživateli v mazání souborů / adresářů jiného uživatele v tomto adresáři, protože všichni mají oprávnění k zápisu.
Vidíme, že bit je v následujícím záznamu přiřazen jako „t“:

K přiřazení tohoto bitu uděláme následující:

$ chmod o+t /tmp

A odstranit:

$ chmod o-t /tmp

No přátelé, teď víte, jak lépe chránit své informace, a doufám, že s tím přestanete hledat alternativy Složka Lock o Složka stráž že v GNU / Linuxu je vůbec nepotřebujeme XD.

PS: Tento konkrétní článek si vyžádal soused přítelova bratrance XD, doufám, že jsem odpověděl na vaše otázky... 


Přidat jako preferovaný zdroj