Vysvětlení oprávnění k souborům a adresářům Linux

Linux je operační systém pro více uživatelů, takže se stejným počítačem může pomocí Linuxu pracovat více uživatelů současně. Protože jde o operační systém pro více uživatelů, je pro Linux důležité zaručit bezpečnost a soukromí souborů patřících různým uživatelům.

Aby toho bylo dosaženo, má Linux propracovaný systém pro zpracování oprávnění k souborům a adresářům. Tímto způsobem mohou uživatelé Linuxu řídit přístup k souborům různých uživatelů a jaké akce mohou uživatelé při používání počítače provádět.

Jako uživatel Linuxu je důležité pochopit, jak Linux zpracovává oprávnění k souborům a adresářům a jak můžete pracovat s různými dostupnými oprávněními, abyste zabezpečili své soubory a zaručili funkčnost svého počítače. Abychom pochopili, jak Linux spravuje oprávnění k souborům a adresářům, podívejme se nejprve na různé kategorie uživatelů v operačním systému Linux.

Kategorie uživatelů v Linuxu

První kategorií uživatelů jsou vlastníci souboru nebo adresáře. Každý soubor nebo adresář v Linuxu má jednoho vlastníka. Tomuto vlastníkovi je obvykle uděleno více oprávnění ke svému souboru nebo adresáři. Vlastník souboru je obvykle označen písmenem u pro uživatele.

V Linuxu lze do skupiny umístit více uživatelů a udělit jim oprávnění k souborům jako skupině. Tito jsou známí jako vlastníci skupiny a jsou označeni písmenem g.

Pokud máte například soubor s doporučeními knih a chcete udělit několika uživatelům podobná oprávnění jako k souboru, snadným způsobem je umístit uživatele do skupiny a udělit oprávnění skupině jako celku.

Druhá kategorie uživatelů je známá jako ostatní a je reprezentována písmenem o. Jedná se o uživatele, kteří nevlastní soubor a také nejsou součástí skupiny s oprávněními k souboru. Other zastupuje všechny ostatní v systému.

Všichni uživatelé v počítači, tj. vlastníci souborů, uživatelé ve skupinách a další uživatelé mohou zadat pomocí písmene a.

Vytvořte a přidejte nového uživatele v Ubuntu Linux

Pojďme se podívat na to, jak můžete vytvořit a přidat nového uživatele v Ubuntu Linux. Chcete-li pokračovat v tomto tutoriálu, vytvořte také nového uživatele.

1. Otevřete Nastavení a na levém panelu nabídek klikněte na Uživatel, poté klikněte na Odemknout a po zobrazení výzvy zadejte své heslo. Chcete-li přidat nového uživatele, musíte kliknout na Odemknout. Ve výchozím nastavení je tato funkce uzamčena.

2. Po odemknutí se zobrazí možnost Přidat uživatele. Kliknutím na ni přidáte nového uživatele

3. Chcete-li vytvořit nového uživatele, zadejte jeho celé jméno a uživatelské jméno, vyberte Nastavit heslo nyní a nastavte jeho heslo. Dále se ujistěte, že je typ účtu nastaven na Administrátor, poté klikněte na Přidat pro přidání uživatele.

4. Měli byste vidět nový uživatelský účet, který jste právě vytvořili, jak je znázorněno níže.

Linuxová oprávnění k souborům a adresářům

Oprávnění odkazují na pravidla, která řídí přístup k souborům a adresářům a na akce, které s nimi mohou provádět různí uživatelé. Linux má tři hlavní kategorie oprávnění:

  • Read(r) – umožňuje uživateli zobrazit obsah souboru a vypsat obsah adresáře
  • Write(w) – umožňuje uživateli upravovat obsah souboru. Oprávnění k zápisu u adresářů umožňují uživateli upravit obsah adresáře, například vytvořením, odstraněním, přejmenováním nebo přesunem souborů a podadresářů v adresáři. Oprávnění k zápisu s adresáři však funguje pouze v případě, že má uživatel také oprávnění ke spuštění.
  • Execute(x) – Oprávnění ke spuštění znamená, že se souborem lze zacházet jako s programem, který lze spustit. V případě adresářů umožňuje oprávnění ke spuštění uživateli vstoupit nebo „cd“ do adresáře.
  • Oprávnění ke čtení, zápisu a spouštění jsou přiřazena třem kategoriím uživatelů dostupných v Linuxu.

    Můžete si také přečíst, jak odstranit soubory a adresáře v Linuxu

    Dlouhý výpis v Linuxu

    Chcete-li zobrazit obsah souboru v adresáři Linux, obvykle spustíme příkaz ls. Toto však uvádí pouze dostupné soubory a adresáře a neposkytuje žádné další informace.

    Chcete-li zobrazit více informací o obsahu, musíte použít formát dlouhého seznamu. Chcete-li to provést, spusťte příkaz ls s parametrem -l. Tím získáte oprávnění k souboru, vlastníkům souboru a vlastníkům skupin k souboru, jak je uvedeno níže:

    V Ubuntu je ve výchozím nastavení, pokud nebyla vytvořena žádná skupina, název skupiny stejný jako vlastník souboru.

    K vytvoření skupiny použijeme příkaz addgroup. Chcete-li přidat skupinu s názvem editory, spusťte následující příkaz a po zobrazení výzvy zadejte heslo

    sudo addgroup editors

    sudo nám umožňuje spouštět příkazy jako uživatel root, což je super uživatel s oprávněním provádět změny, které ovlivňují všechny uživatele počítače.

    Pro přidání uživatelů do skupiny používáme následující syntaxi:

    adduser <user> <group>

    Proto pro přidání belmonta i madici do skupiny editorů spustíme

    sudo adduser belmont editors
    sudo adduser madici editors

    Chcete-li zobrazit skupiny, do kterých uživatel patří, spusťte:

    groups <username>

    Výsledek výše uvedených příkazů je uveden níže:

    Podívejme se nyní na atributy souboru, které nám říkají o typech souborů a oprávněních k souboru. A.

    Atributy souboru v Linuxu

    V Linuxu se atributy souboru skládají z přesně deseti znaků. První znak označuje typ souboru. Mezi běžné první znaky představující různé soubory patří:

    • d označuje adresář
    • – označuje běžný soubor, např. textové soubory
    • c označuje znakový speciální soubor
    • l označuje symbolický odkaz
    • b označuje speciální blokový soubor

    Zbývajících devět znaků se používá k zobrazení oprávnění vlastníka, vlastníka skupiny a dalších uživatelů. Devět postav je rozděleno do skupin po třech. První skupina označuje oprávnění vlastníka, druhá skupina označuje oprávnění vlastníka skupiny a poslední tři označují oprávnění pro ostatní, tedy každého dalšího uživatele v počítači.

    Oprávnění pro každou kategorii jsou uvedena počínaje oprávněním ke čtení, pak zápisu a nakonec oprávněním k provádění. Oprávnění ke čtení je označeno písmenem r, oprávnění k zápisu písmenem w a oprávnění k provedení písmenem x.

    Symbol – se používá v případě, že uživatel nemá konkrétní oprávnění. Například rw- pro vlastníka skupiny znamená, že mají oprávnění ke čtení i zápisu, ale nemají oprávnění ke spuštění v tomto adresáři (d).

    Změna oprávnění souboru pomocí symbolického zápisu

    Chcete-li změnit oprávnění k souboru nebo adresáři, použijeme příkaz chmod a určíme, komu oprávnění měníme.

    Může to být vlastník souboru reprezentovaný písmenem u pro uživatele, vlastník skupiny reprezentovaný písmenem g nebo další uživatelé reprezentovaní písmenem o. Můžeme také cílit na všechny tři kategorie uživatelů pomocí písmene a, což znamená vše výše uvedené.

    Další věc, kterou specifikujeme, je změna, kterou provádíme. Pro přidání oprávnění používáme + (znaménko plus). K odebrání oprávnění používáme – (znaménko mínus). Poslední věcí, kterou poskytujeme, jsou oprávnění, která přidáváme pomocí r,w nebo x, která představují tři dostupná oprávnění.

    Chcete-li to vidět v akci, vytvořte adresář s názvem books pomocí příkazu níže

    mkdir books

    Zadejte nebo ‚cd‘ do adresáře:

    cd books

    Vytvořte soubor s názvem readingList.txt

    touch readingList.txt

    Dlouhý seznam obsahu adresáře knih provedením:

    ls -l

    Výstup je takový, jak je znázorněno:

    Soubor, který jsme vytvořili, je běžný soubor, označený nejprve –, vlastník a vlastník skupiny mají oprávnění ke čtení a zápisu, zatímco ostatní uživatelé mají oprávnění pouze ke čtení. Abychom ostatním uživatelům udělili oprávnění k zápisu do souboru, provedli bychom následující příkaz:

    chmod o+w readingList.txt

    Chcete-li zjistit, zda se změnila oprávnění pro ostatní uživatele, spusťte

    ls -l

    Výstup:

    Všimněte si, že oprávnění k souboru ostatních uživatelů se změnilo z r– na rw-, což znamená, že nyní mají oprávnění k zápisu.

    Chcete-li přidat oprávnění ke spuštění vlastníkovi (uživateli) souboru, spusťte:

    chmod u+x readingList.txt

    Chcete-li odebrat oprávnění k zápisu vlastníkům skupiny, proveďte:

    chmod g-w readingList.txt

    Chcete-li odebrat oprávnění ke čtení všem uživatelům, aby nikdo nemohl soubor zobrazit, proveďte:

    chmod a-r readingList.txt

    Chcete-li znovu přidat oprávnění ke čtení pro vlastníka souboru, proveďte:

    chmod u+r readingList.txt

    Chcete-li přidat oprávnění k zápisu a spouštění vlastníkovi skupiny souboru, spusťte:

    chomod g+wx readingList.txt

    Změna oprávnění pomocí osmičkové notace

    V Linuxu má každé ze tří dostupných oprávnění pouze dvě možné hodnoty. Oprávnění ke čtení může být pouze r nebo – , oprávnění k zápisu může být pouze w nebo – a oprávnění ke spuštění může být pouze x nebo –.

    Proto lze tato oprávnění považovat za zapnutá nebo vypnutá, a proto mohou být reprezentována pomocí binárních čísel, která mají pouze dvě dostupné hodnoty. To je 1 pro zapnuto nebo pravda a 0 pro vypnuto nebo nepravda. Zde může být oprávnění, jako je rw– reprezentováno jako 110 pomocí binárních čísel.

    Pro každou danou kategorii uživatele tedy stačí tři binární čísla k předložení všech jejich oprávnění. Například oprávnění pro vlastníka, skupinu a další rwxrw-r– může být reprezentováno jako 111110100 pomocí binárního čísla.

    Abyste se však vyhnuli zápisu binárního čísla, které je dlouhé a snadno matoucí, je lepší alternativou použít osmičková čísla.

    Osmičková čísla mají základ 8 a mají tedy pouze 8 možných hodnot. Každé osmičkové číslo mapuje přesně tři binární číslice.

    Proto může být oprávnění, jako je rw-, reprezentováno jako 110 v binární podobě. Osmičkový ekvivalent 110 je 6, takže 6 lze použít k reprezentaci rw-. Osmičková čísla lze použít k vyjádření oprávnění ke čtení, zápisu a spouštění vlastníka, skupiny a dalších, jak je uvedeno níže:

    Místo psaní dlouhých binárních číslic je lepší reprezentovat oprávnění pomocí osmičkových čísel. Proto jsou všechna oprávnění vlastníka, skupiny a dalších reprezentována pomocí jednoduchých osmičkových čísel, jak je znázorněno na obrázku výše.

    Výhodou použití osmičkové notace pro nastavení oprávnění je, že vám umožňuje nastavit oprávnění pro všechny vaše uživatele najednou, na rozdíl od symbolické notace, kde můžete nastavit oprávnění pouze jednoho uživatele najednou.

    Použití osmičkové notace však vyžaduje určitý čas a praxi, než si budete moci vybavit, k čemu každé osmičkové číslo slouží. To znamená, že kdykoli použijete osmičkovou notaci, neváhejte se podívat na výše uvedený diagram. Podívejme se na několik příkladů změny oprávnění pomocí osmičkové notace

    Chcete-li všem uživatelům, tedy vlastníkovi, vlastníkovi skupiny a dalším uživatelům udělit oprávnění číst, zapisovat a spouštět čteníList.txt, proveďte:

    chmod 777 readingList.txt

    Chcete-li zkontrolovat, zda byla oprávnění změněna, proveďte:

    ls -l

    Výstup:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Všimněte si, že vlastník, skupina a další uživatelé mají nyní oprávnění číst, zapisovat a spouštět readList.txt.

    Chcete-li odebrat oprávnění k zápisu vlastníkovi skupiny i ostatním, proveďte:

    chmod 755 readingList.txt

    Chcete-li odebrat oprávnění ke spouštění vlastníkovi a ostatním provádět:

    chmod 654 readingList.txt

    Zvláštní oprávnění v Linuxu

    Linux má tři speciální oprávnění, která lze použít pro soubory a adresáře kromě standardních oprávnění pro čtení, zápis a spouštění. Tato oprávnění poskytují pokročilé funkce pro řízení přístupu a umožňují uživatelům s menším počtem oprávnění spouštět soubory a příkazy s vyššími oprávněními, stejně jako vlastník souboru nebo vlastník skupiny.

    Mezi speciální oprávnění patří:

    • Nastavit ID uživatele (SUID) – oprávnění SUID umožňuje uživateli spouštět soubor nebo program s právy vlastníka, nikoli s právy uživatele, který jej spouští. To je užitečné, když standardní uživatelé potřebují provádět úkoly, které vyžadují zvýšená oprávnění.
    • Nastavit ID skupiny (SGID) – oprávnění SGID umožňuje uživateli spustit soubor s oprávněními vlastníka skupiny souboru, nikoli s oprávněními jejich skutečné skupiny.
    • Sticky Bit – Sticky Bit je oprávnění obvykle nastavené pro adresáře, aby bylo zajištěno, že soubory v adresáři může odstranit pouze skutečný vlastník adresáře, vlastník konkrétního souboru nebo uživatel root.

    Tři speciální oprávnění lze použít vedle standardních oprávnění: čtení, zápis a spouštění.

    Závěr

    Oprávnění jsou v Linuxu důležitým pojmem, i když váš počítač nemá více uživatelů. Pochopení oprávnění je důležité pro zajištění kontroly, zabezpečení a soukromí dat uložených v systému Linux a jeho funkčnosti. Zvažte proto, abyste se seznámili s oprávněními tím, že si procvičíte to, co jste se o oprávněních naučili v tomto článku.

    Můžete také prozkoumat, jak používat příkazy Linuxu ve Windows.