Jak fungují uživatelé a skupiny v Linuxu
Podíváme se spolu, jak fungují práva na Linuxu, proč je dobré se vyznat v jejich číselném označení a naučíte se práva měnit. Ukážeme názorné příklady, na které často narazíte třeba ve VPS Centru.
Identifikace
Uživatelé a skupiny mají v Linuxu číselné identifikátory.
- UID (identifikátor uživatele),
- a GID (identifikátor skupiny).
Uživatelé
Každý uživatel má své vlastní číslo (UID), kterým se identifikuje v Linuxu.
- 0 je vyhrazeno pro uživatele root,
- 1-500 jsou systémové účty (např. MySQL server),
- 501+ jsou určena pro běžné uživatele.
Každý uživatel je členem alespoň jedné skupiny. Uživatelé se mohou sdružovat v jednotlivých skupinách a každá skupina má svá vlastní specifická práva. Můžete si také vytvořit vlastní uživatele a vlastní skupiny.
Skupiny
Každá skupina má svůj identifikátor (číslo) a svá specifická práva platná pro každého uživatele skupiny.
- 0 – je vyhrazená pro root uživatele.
- 1–99 jsou názvy skupin pro systémové aplikace.
- 100+ jsou pro běžné uživatele.
Výpis všech skupin:
cat /etc/group
Druhy přístupových práv k souborům a adresářům
Přístupová práva v Linuxu se skládají ze tří čísel. První ze tří čísel je vyhrazené vlastníkovi souboru, druhé skupině, která soubor vlastní a třetí všem ostatním (ti, co nejsou vlastníci ani členové skupiny).
Čísla samotná reprezentují jednotlivá práva:
V případě souborů:
- čtení obsahu (r) = 4
- zápis/změna obsahu (w) = 2
- spuštění (x) = 1
V případě adresářů:
- zobrazení souborů (r) = 4
- přidávání a odebírání souborů (w) = 2
- vstup do adresáře, zobrazení informací o souborech (x) = 1
A jejich součet pak skupinu oprávnění pro daného aktéra.
V praxi to vypadá následovně:
- Vlastník: (4+2+0) = 6
- Skupina: (4+0+0) = 4
- Ostatní: (0+0+0) = 0
Tedy dohromady 640
Příklady:
součet čísel | vlastník | skupina | ostatní | |
755 | (4+2+1) | (4+0+1) | (4+0+1) | Vlastník má všechna práva a ostatní mají právo na čtení a spuštění (obvyklé oprávnění pro složky na webu). |
770 | (4+2+1) | (4+2+1) | (0+0+0) | Vlastník a uživatelé skupiny mohou číst, zapisovat i spouštět. Ostatní, ale nemohou nic. |
644 | (4+2+0) | (4+0+0) | (4+0+0) | Vlastník může číst a zapisovat. Ostatní pouze číst. |
Jaká práva jsou na našich serverech
Důležití uživatelé:
- root: Je nejvyšší administrátorský uživatel (superuživatel), má práva na všechno na serveru.
- www-data: Je uživatel, kterého používá webserver.
Existuje ještě celá řada uživatelských účtů:
- vmail sloužící mailserveru,
- proftpd pro FTP napříč doménami,
- mysql jako účet pro databázový server MySQL.
Plný výpis uživatelů zobrazíte příkazem:
cat /etc/passwd
Jak práva měnit?
Pomocí WinSCP
Jednoduchá, zato často velmi pomalá cesta, je jít pomocí WinSCP. Stačí se do aplikace přihlásit jako root (vybrat protocol SFTP) a pravým tlačítkem vyvolat možnosti:
Pokud zaškrtnete políčko, že chcete změnit práva rekurzivně, práva se změní všem souborům a složkám uvnitř adresáře, což je proces, který trvá dlouhou dobu.
Přes WinSCP doporučujeme provádět změny pouze v případě, že to děláte pro pár souborů. Pokud potřebujete změnit práva většímu počtu souborů, doporučujeme využít Linuxové nástroje chown + chgrp + chmod (popisujeme je níže).
Pomocí SSH
chown, chgrp
Program chown slouží ke změně vlastníka souborů a adresářů. Chgrp dělá totéž, jen pro skupiny.
Buďte ovšem opatrní, protože můžete server snadno rozbít.
Například: chown -R nad adresářem, kde jste to vůbec nechtěli (např. chown -R root /) by změnil práva každému souboru a adresáře a operační systém by nemohl pracovat. Většinou je pak jediná záchrana reinstalace celého systému.
chmod
Slouží pro změnu práv nad soubory a adresáři. Práva souborů může měnit pouze jeho vlastník nebo uživatel root.
Nejpoužívanějším přepínačem příkazu chmod je -R, který slouží k rekurzivní změně práv. To znamená, že práva se změní pro všechny soubory a složky, které se ve složce nachází.
chmod 644 /www/hosting/domena.cz/www/robots.txt
(vlastník může číst a zapisovat, skupina a ostatní mají povolení pouze ke čtení souboru robots.txt)
Jaké příkazy na našich VPS často využijete:
změna vlastníka domény na www-data | chown -R www-data:www-data /www/hosting/vase-domena.cz/www/ |
změna pouze skupiny | chgrp www-data /www/hosting/vase-domena.cz/www/ |
změna pouze vlastníka | chown www-data /www/hosting/vase-domena.cz/www/ |
nastavení čtení a zápisu k souboru vlastníkovi, ostatním nic | chmod 600 /www/hosting/vase-domena.cz/devel/topsecret.cnf |
nastavení čtení a zápisu k adresáři vlastníkovi, ostatním nic | chmod 700 /www/hosting/vase-domena.cz/devel/ |
Pomocí Midnight Commanderu
Pokud nechcete vypisovat příkazy, můžete použít také Midnight Commander, který je už na našich serverech předinstalovaný.
Pouští se příkazem:
mc
Podobné články
- Správa uživatelských účtů a třídění domén ve VPS Centru
- O webhostingu: Na co je a jak vlastně funguje?
- Co je dvoufaktorové ověření (2FA) a jak ho zapnout ve VPS Centru
- Git a automatický deploy ve VPS Centru
- Nefunguje mi e-mail, jak to vyřešit rychle a efektivně?
- Jak promazat swap nebo cache u RAM a Bufferu