GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat oprávnění Linuxu pro uživatele, skupiny a další

Správa přístupu ke zdrojům je základním úkolem systémových administrátorů. Tato odpovědnost se skládá ze tří složek:identity, zdroje a oprávnění. Tento článek popisuje několik příkazů pro správu uživatelů, skupin a souborů pro řízení přístupu ke zdrojům. V článku se používá „Jak mohu…?“ formát a předpokládá, že máte několik zdrojů, se kterými můžete pracovat. Konkrétně se zabývám následujícími tématy:

  • Vytváření adresářů a souborů
  • Správa vlastnictví a přidružených skupin
  • Nastavení oprávnění s absolutním a symbolickým režimem

Nastavení hřiště

V IT jsem asi 25 let a většinu času jsem strávil jako technický školitel. To znamená, že věci, které píšu, jsou obvykle strukturovány jako nějaká laboratoř nebo jiná praktická příležitost. Jde jen o to, jak potahuji materiál. S ohledem na to budu předpokládat, že při čtení zbytku článku máte několik identit a zdrojů, se kterými můžete experimentovat. K nastavení hřiště můžete použít následující příkazy. Nejlepší je to udělat na virtuálním počítači, nikoli na vašem osobním Linuxovém boxu, ale tyto úkoly jsou relativně neškodné.

Vytvořte dva nové uživatele a dvě nové skupiny, se kterými budete pracovat. Všimněte si, že pro uživatele v tomto cvičení nemusíte konfigurovat hesla, protože se pomocí těchto účtů nebudete přihlašovat.

# useradd user01
# useradd user02
# groupadd groupA
# groupadd groupB

Poznámka :Použili byste passwd user01 příkaz k nastavení hesla uživatele.

Ve svém domovském adresáři vytvořte nový adresář s názvem playground :

# mkdir playground

Změňte se na ~/playground adresář pomocí cd příkaz. Jste připraveni pracovat s níže uvedenými příkazy a koncepty.

Až dokončíte článek a naučíte se techniky, které jsem probral, smažte dva uživatelské účty, skupiny a adresář hřiště. Použijte rm -fR /playground , userdel user01 a groupdel groupA k odstranění zdrojů.

Jak vytvořím adresáře a soubory?

Použijte mkdir příkaz k vytvoření adresářů. touch příkaz je jedním z mnoha způsobů vytváření souborů.

Jak vytvořím adresář s názvem Resources ?

# mkdir Resources

Jak vytvořím cestu k adresáři (řadu adresářů, které ještě neexistují)?

# mkdir -p Resources/data/2020data

Poznámka :Cílem je vytvořit 2020data adresář, ale data dané cesty adresář zatím neexistuje. -p volba vytvoří nadřazené adresáře podle potřeby k dokončení cesty.

Jak vytvořím soubor s názvem file1 ?

# touch file1

Jak vytvořím několik souborů najednou?

# touch file2 file3 file4

Jak mohu spravovat vlastnictví a skupiny?

V adresáři hřiště zobrazte aktuálního vlastníka a skupinu spojenou s Resources adresář a soubory.

Jak zobrazím oprávnění, vlastníky a skupiny?

# ls -l

Parametr ls -l příkaz zobrazí obsah adresáře v dlouhém formátu. Dlouhý formát obsahuje oprávnění i vlastnictví. Můžete vidět, že uživatelský účet, který vytvořil prostředky, tyto prostředky také vlastní. Přidružení skupiny je také primární skupinou daného uživatele.

Jak změním uživatele/vlastníka přidruženého k file1 ?

# chown user02 file1

Jak změním skupinu spojenou s file1 ?

# chown :groupA file1

Jak změním vlastníka a skupinu současně pro file2 ?

# chown user02:groupA file2

Existuje konkrétní chgrp příkaz, ale raději si zapamatuji pouze jeden příkaz (chown ) a aplikujte jej na obě funkce (přidružení uživatelů a skupin), nikoli na chown pro uživatele a poté musíte vyvolat chgrp pro skupinu.

Jak tedy mohu použít chgrp ?

# chgrp groupB file1

Jak změním uživatele/skupinu pro adresář a veškerý jeho obsah?

# chown -R user01:groupA Resources

Výše uvedený úkol poskytuje rekurzivní konfigurace. Technicky vzato se rekurzivní příkazy opakují na každém zadaném objektu. Ve skutečnosti rekurzivní znamená „toto a všechno, co je v něm“. Ve výše uvedeném příkladu konfigurujete souvisejícího uživatele/skupinu pro Resources adresář a vše v něm. Bez -R možnost, ovlivnili byste pouze Resources samotný adresář, ale ne jeho obsah.

[ Čtenářům se také líbilo: Úvod do Linux Access Control Lists (ACL) ]

Jak mohu spravovat oprávnění?

režim změny nebo chmod příkaz nastavuje oprávnění. Syntaxe je přímočará:

chmod permissions resource-name

Zde jsou dva příklady manipulace s oprávněními pro file2 :

# chmod 740 file2
# chmod u=rwx,g=r,o-rwx file2

Ale počkej! Zdá se, že jde o radikálně odlišné příklady (ve skutečnosti nejsou). Co jsou všechna ta písmena a čísla?

Musíme probrat absolutní režim a symbolický režim .

Jak mohu použít absolutní režim?

Absolutní režim je jedním ze dvou způsobů určení oprávnění. Viděl jsem tento režim označovaný jako osmičkový nebo číselný režim, ale termín, který jsem se naučil, byl absolutní . Tento termín mi také dává největší smysl, protože je to absolutní prohlášení o požadovaných oprávněních. Vždy jsem svým studentům říkal, že to vypadá jako nejsložitější ze dvou režimů, ale ve skutečnosti je to nejjednodušší. Obvykle souhlasili.

Každá úroveň přístupu (čtení, zápis, provádění) má osmičkovou hodnotu:

Úroveň přístupu Osmičková hodnota
Přečíst 4
Napište 2
Provést 1

Každá identita (uživatel, skupina, ostatní) má pozici:

Identita Pozice
Uživatel První nebo úplně vlevo
Skupina Střední
Ostatní Poslední nebo úplně vpravo

Syntaxe absolutního režimu uvádí požadovaná oprávnění zleva doprava.

Jak udělím uživateli (vlastníkovi) čtení, zápis a spouštění, skupině pouze pro čtení a všem ostatním žádný přístup k file2 pomocí absolutního režimu?

# chmod 740 file2

S identitami jsou spojeny tři hodnoty oprávnění:
    ugo
    740

  • Číslo 7 je přiřazeno uživateli a je součtem 4+2+1 nebo čtení+zápis+spouštění (plný přístup)
  • 4 je přiřazen ke skupině a je součtem 4+0+0 (pouze pro čtení)
  • 0 je přiřazeno ostatním a je součtem 0+0+0 (bez přístupu)

V tomto příkladu má uživatel rwx , skupina má r pouze a všichni ostatní nemají žádný přístup do file2 .

Podívejme se na další příklad.

Jak povolím uživateli (vlastníkovi) čtení a zápis, skupině pouze pro čtení a všem ostatním pouze pro čtení do file2 ?

# chmod 644 file2
  • Uživatel má 6 (číst a psát)
  • Skupina má 4 (pouze pro čtení)
  • Všechny ostatní mají 4 (pouze pro čtení)

Považuji to za jednodušší, protože zde nejsou žádné výpočty. Nezabývám se přidáváním nebo odebíráním konkrétních oprávnění na základě aktuálního nastavení. Místo toho říkám „nastav oprávnění na toto“ a to je konečný výsledek, který dostanu. Je to absolutní tvrzení.

Jak nastavím oprávnění pro Resources adresář a veškerý jeho obsah pomocí absolutního režimu?

# chmod -R 744 Resources

Jak mohu používat symbolický režim?

Symbolický režim používá více symbolů, ale symboly jsou srozumitelnější. To je atraktivní pro systémové administrátory, kteří mají nová oprávnění pro Linux.

Každá úroveň přístupu má symbol:

Úroveň přístupu Symbol
Přečíst r
Napište w
Provést x

Každá identita má svůj symbol:

Identita Symbol
Uživatel u
Skupina g
Ostatní o

Existují také operátory pro manipulaci s oprávněními:

Úkol Operátor
Udělit úroveň přístupu +
Odebrat úroveň přístupu -
Nastavit úroveň přístupu =

Obecný chmod syntaxe příkazu je stejná:

command permissions directory/file

Zde je příklad:

Jak odeberu ostatním oprávnění ke čtení pro file2 pomocí symbolického režimu?

# chmod o-r file2

Tento příklad odstraní (- ) přečtené (r ) povolení od ostatních (o ) pro file2 .

Zde je další jednoduchý příklad:

Jak udělím oprávnění ke čtení a zápisu skupině pro file2 ?

# chmod g+rw file2

Toto dává (+ ) čtení a zápis (rw ) do skupiny (g ) pro file2 .

Jak nastavím oprávnění pro adresář a veškerý jeho obsah pomocí symbolického režimu?

# chmod -R o=rwx,g+rw,o-rwx Resources

Speciální oprávnění a seznamy řízení přístupu

Výše uvedená diskuse pokrývá standardní oprávnění Linuxu – použití rwx uživateli, skupině a všem ostatním. Linux má však mnohem větší flexibilitu. Speciální oprávnění umožňují uživatelům spouštět aplikace s jinými pověřeními, řídit dědičnost skupinových přidružení a chránit soubory před náhodnou změnou. Podívejte se na tento skvělý článek o speciálních oprávněních.

Linux má také způsob, jak vynutit různá oprávnění pro různé uživatele a skupiny. Seznamy řízení přístupu (ACL) umožňují správcům systému definovat oprávnění pro více než jednoho uživatele a jednu skupinu, což standardním oprávněním přidává mnohem větší flexibilitu. Například user01 může být uděleno rw- do file1 , zatímco user02 může být uděleno r-- do file1 . Zde je skvělý článek o seznamech ACL.

[ Volný kurz:Red Hat Satellite Technical Overview. ] 

Sbalit

Vytváření zdrojů, správa uživatelů a nastavení oprávnění jsou základní úkoly pro uživatele Linuxu. Mým cílem bylo poskytnout rychlého a snadného průvodce založeného na běžných otázkách nebo úkolech, které musíme všichni pravidelně plnit. Pokud s Linuxem začínáte, dobrá znalost osmi výše uvedených příkazů vám výrazně usnadní život systémového správce.


Linux
  1. Jak vytvořit sdílený adresář pro všechny uživatele v Linuxu

  2. Jak spravovat vypršení platnosti uživatelského hesla a stárnutí v Linuxu

  3. Jak spravovat a vypisovat služby v Linuxu

  1. Správa uživatelů Linuxu a skupin Linuxu

  2. Jak spravovat uživatele a skupiny na serveru FreeIPA

  3. Jak pracovat s uživateli a skupinami v Linuxu

  1. Cheat sheet pro uživatele Linuxu a oprávnění

  2. Jak najít soubory s oprávněními SUID a SGID v Linuxu

  3. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu