V tomto článku prozkoumáme důležitost správně organizovaných uživatelů Linuxu. Popíšeme si přístupová práva, počínaje vytvořením a konfigurací uživatelů a konče udělováním přístupu ke konkrétním souborům a složkám. Probereme také některé důležité bezpečnostní nástroje, jako je sudo a SELinux, které pomáhají chránit systém před nežádoucí činností.
Význam správy uživatelů a přístupových práv v Linuxu
Ve světě Linuxu hraje klíčovou roli správa uživatelů a přístupová práva. Představte si Linux jako velký byt, kde každý uživatel je nájemník a každý soubor je místnost. Správa uživatelů je jako přidělení jedinečného klíče každému nájemníkovi, zatímco přístupová práva určují, co může ve svém pokoji dělat.
Po vytvoření uživatele je mu přiřazeno jméno a jedinečný identifikátor ( UID ), například osobní klíč od bytu. Uživatel má také skupinu , která ho spojuje s ostatními nájemníky. Skupina je jako klub, kde členové sdílejí společná oprávnění.
Přístupová práva k souborům jsou rozdělena do tří kategorií: vlastník ( uživatel ), skupina a ostatní . Každý klíč (uživatel) může mít pro každou kategorii svá jedinečná práva ke čtení, zápisu a spouštění. Například vlastník souboru může mít práva ke čtení a zápisu, skupina pouze ke čtení a ostatní nic.
Zvláštní pozornost si zaslouží bezpečnostní zásady, jako jsou sudo a SELinux , používané v systémech Linux. Sudo je speciální příkaz, který umožňuje běžným uživatelům dočasně používat práva superuživatele (root) k provádění specifických úkolů, které jsou obvykle dostupné pouze administrátorům. To pomáhá předcházet náhodným chybám nebo zneužití práv superuživatele. Při použití sudo je uživatel obvykle požádán o zadání hesla pro potvrzení své identity. Poté může spouštět příkazy s právy superuživatele (root) v souladu s pravidly nastavenými v souboru sudoers.
SELinux je další vrstva zabezpečení pro operační systém Linux. Monitoruje, které programy a soubory lze v systému používat, a omezuje k nim přístup, aby se zabránilo vniknutí a útokům. Díky tomu je server bezpečnější tím, že zabraňuje pokusům o hackerský útok nebo škodlivým akcím.
Vytváření a správa uživatelů
Jak vytvořit uživatele v Linuxu
Uživatelé Linuxu se obvykle vytvářejí příkazem useradd . Například pro vytvoření uživatele s názvem „username“ zadejte:
useradd username
Jak nastavit uživatelské heslo pro Linux
Po vytvoření uživatele není jeho účet chráněn heslem. Chcete-li nastavit heslo pro nového uživatele, použijte příkaz passwd :
passwd username
Kde username je jméno uživatele, kterému se nastavuje heslo.
Jak zobrazit seznam uživatelů v Linuxu
Chcete-li zobrazit seznam uživatelů v Linuxu jediným příkazem v terminálu, můžete použít příkaz cut :
cut -d: -f1 /etc/passwd
Tento příkaz přečte obsah souboru /etc/passwd , který obsahuje informace o všech uživatelích.
Chcete-li získat informace o konkrétním uživateli, můžete použít příkaz:
id username
Zobrazí se UID , GID a Groups uživatele.
Odstranění uživatele systému Linux
Chcete-li uživatele smazat, použijte příkaz userdel :
userdel username
Tento příkaz však neodstraní soubory v domovském adresáři uživatele. Chcete-li je odstranit, můžete použít volbu -r :
userdel -r username
Tím se odstraní uživatelské jméno uživatele spolu s jeho domovským adresářem a všemi soubory v něm.
Úprava uživatele Linuxu
Chcete-li upravit informace o uživateli, použijte příkaz usermod . Nástroj používá syntaxi:
usermod argument user
Úplný seznam možných argumentů je zobrazen v nápovědě nástroje:
Chcete-li například změnit domovský adresář uživatele, použijte příkaz:
usermod -d /new/path/to/directory username
Vytváření a správa uživatelských skupin v Linuxu
Skupiny uživatelů v systému Linux umožňují správcům seskupovat uživatele s podobnými přístupovými právy. To usnadňuje správu přístupových práv a zvyšuje zabezpečení systému tím, že umožňuje nastavení práv na úrovni skupiny, místo aby se tak dělo pro každého uživatele individuálně. Jako příklad budeme uvažovat skupinu vývojářů s uživatelem admin.
Jak vytvořit skupinu uživatelů v Linuxu
Chcete-li vytvořit novou skupinu, použijte příkaz groupadd s názvem nové skupiny:
sudo groupadd group_name
V našem příkladu by příkaz vypadal takto:
sudo groupadd developers
Jak odstranit skupinu uživatelů v Linuxu
Chcete-li skupinu smazat, použijte příkaz groupdel :
sudo groupdel group_name
Tedy příkaz:
sudo groupdel developers
Smaže skupinu s názvem developers.
Přidání uživatelů do skupiny
Chcete-li přidat uživatele do určité skupiny, použijte příkaz usermod :
sudo usermod -aG group_name user_name
Například:
sudo usermod -aG developers admin
Tento příkaz přidá uživatele s názvem admin do skupiny vývojářů.
Odebrání uživatelů ze skupiny
Chcete-li uživatele ze skupiny odebrat, použijte příkaz deluser :
sudo deluser user_name group_name
Příkaz pro odstranění uživatele admin ze skupiny vývojářů :
sudo deluser admin developers
Zobrazení seznamů skupin v Linuxu
Chcete-li zobrazit seznam všech skupin v systému, použijte příkaz cat se souborem /etc/group :
cat /etc/group
Tento příkaz zobrazí seznam všech skupin v systému.
Kontrola členství ve skupině uživatelů
Po provedení akcí můžete zkontrolovat, do kterých skupin uživatel patří, pomocí příkazu groups:
groups user_name
Proto jsme prozkoumali základy správy uživatelských skupin v Linuxu. Nyní přejdeme k další fázi – zkoumání přidělování přístupových práv k souborům a adresářům. Tento proces umožňuje určit, jaké akce mohou uživatelé nebo skupiny provádět s konkrétními soubory a adresáři, a zajistit tak efektivní správu zabezpečení a přístup k systémovým prostředkům.
Přidělování přístupových práv k souborům a adresářům
Symbolické znázornění přístupových práv
Jak jsme již zjistili, v Linuxu existují 3 kategorie uživatelů: vlastník ( uživatel ), skupina a ostatní . Každá z nich může mít určité skupiny přístupových práv k souborům nebo adresářům:
- Číst (Čtení - r): Umožňuje prohlížení obsahu souboru nebo adresáře.
- Zápis (Write - w): Poskytuje možnost upravit soubor nebo vytvořit nový soubor v adresáři. U adresáře to také umožňuje mazání souborů z něj.
- Execute (Execute - x): Umožňuje spuštění souboru (pokud se jedná o spustitelný soubor) nebo vstup do adresáře (pokud se jedná o adresář).
V systémech rodiny Linux jsou přístupová práva reprezentována řetězcem 10 znaků. První znak označuje typ souboru (běžný soubor, adresář atd.) a zbývajících devět jsou tři skupiny po třech znacích pro každou z uživatelských skupin. Pro pochopení uvažujme příklad.
Přístupová práva -rwxr-x-- znamenají:
- První znak (-) označuje typ souboru (v tomto případě běžný soubor).
- Tři znaky pro vlastníka (rwx) ukazují, že vlastník má práva ke čtení, zápisu a spouštění.
- Tři znaky pro skupinu (rx) označují, že členové skupiny mají práva pouze ke čtení a spouštění.
- Tři znaky pro ostatní (r--) znamenají, že ostatní uživatelé mohou soubor pouze číst.
Přístupová práva se nastavují pomocí příkazu chmod a syntaxe vypadá následovně:
chmod [options] mode file(s)
Kde:
- [options] - další parametry, jako je -R pro rekurzivní změnu přístupových práv v adresáři a jeho podadresářích.
- režim - speciální řetězec, který určuje, která přístupová práva se mění a pro koho. Režim lze specifikovat pomocí symbolů (r, w, x) a bitů (0 nebo 1). Lze použít i číselné hodnoty modu (budeme si o nich povídat později)
- soubor(y) - soubory nebo adresáře, na které se aplikují změny.
Tato utilita je poměrně mocný nástroj, proto se jako příklad podíváme jen na pár základních příkazů.
Změňte přístupová práva k souboru tak, aby vlastník měl práva pro čtení a zápis, skupina měla práva pouze pro čtení a ostatní uživatelé neměli žádná práva:
chmod u=rw,g=r,o= filename
Nastavte všem uživatelům přístupová práva ke čtení a zápisu do souboru:
chmod a+rw filename
Rekurzivně změňte přístupová práva pro všechny soubory a podadresáře v adresáři:
chmod -R u+rwx directory
Číselné zastoupení přístupových práv
V číselném vyjádření má každá uživatelská kategorie (vlastník, skupina, ostatní) své číslo a kombinací těchto čísel se nastavují konečná přístupová práva. Podobně jako u symbolických má každé ze tří práv svou hodnotu, ale v číselné podobě:
- Čtení (čtení) - hodnota 4
- Zápis (zápis) - hodnota 2
- Execute (execute) - hodnota 1
Číselné hodnoty se také používají k určení typu uživatele:
- Vlastník souboru (uživatel) - první číslice
- Skupina vlastníka (skupina) - druhá číslice
- Ostatní uživatelé (ostatní) - třetí číslice
Plná číselná reprezentace přístupových práv k souboru se tedy skládá ze tří číslic, z nichž každá představuje součet hodnot práv pro určitou kategorii uživatelů. To je poněkud pohodlnější než použití 10 znaků v symbolické reprezentaci. Řízení v tomto případě bude vypadat následovně:
chmod XYZ file
kde X , Y a Z jsou čísla představující přístupová práva pro vlastníka, skupinu a ostatní uživatele.
Chcete-li například vlastníkovi udělit plná přístupová práva (čtení, zápis a spouštění) a skupině a dalším uživatelům pouze čtení a spouštění, můžete použít příkaz:
chmod 755 file
Podívejme se na další příklady:
chmod 700 file
Pouze vlastník má práva číst, zapisovat a spouštět, zatímco skupina a ostatní uživatelé nemají žádná přístupová práva.
chmod 644 file
Vlastník má práva ke čtení a zápisu, zatímco skupina a ostatní uživatelé mají práva pouze ke čtení.
chmod 751 file
Vlastník má plná práva, skupina má práva ke čtení a spouštění a ostatní uživatelé mají práva pouze ke spouštění.
Jak jsme již zmínili, nástroj má velmi rozsáhlé funkce. V některých případech nejsou možnosti dostupné v části „nápověda“ dostatečné:
Věnujte pozornost poslednímu řádku. Použitím tohoto příkazu se otevře podrobnější dokumentace k nástroji. Můžete také navštívit oficiální stránku utility na Wikipedii, kde naleznete podrobné informace o Chmodu.
Závěr
Uživatelé Linuxu a jejich správa jsou kriticky důležité pro bezpečnost a stabilní provoz operačního systému. V tomto článku jsme zdůraznili důležitost efektivní správy uživatelů a přístupových práv v Linuxu, která zahrnuje vytváření a správu uživatelů, práci se skupinami uživatelů a přidělování přístupových práv k souborům a adresářům.