Tento článek vysvětluje základní typy oprávnění k adresářům, jak fungují a jak je kontrolovat.
Co jsou to oprávnění k adresářům a jak se uplatňují?
V systému Linux® je adresář složka, do které ukládáte soubory. Každý soubor nebo adresář určuje, kteří uživatelé k nim mají přístup. Tento článek vysvětluje, jak nastavit oprávnění a případně je přepsat.
Příklady přepsání:
- Pokud jste chrootovaný/uvězněný uživatel, můžete přistupovat pouze k souborům nebo adresářům, do kterých jste uvězněni.
- Pokud máte sudo/root -úroveň oprávnění, můžete obejít oprávnění k souboru nebo adresáři.
Seznam souborů a adresářů
Tato část obsahuje příklady operací se seznamy v Linuxu.
-
Uveďte pouze názvy souborů a adresářů:
# ls -
Seznam souborů a adresářů s mnohem více informacemi:
# ls -l # ll -
Seznam souborů a adresářů a zobrazení všech skrytých souborů:
# ls -aPoznámka: Skryté soubory jsou často konfigurační soubory, které systém skryje, aby je uchoval v bezpečí.
-
Seznam souborů a adresářů s mnohem více informacemi a velikostí v KB nebo GB místo bitů:
# ls -lh
Pochopte výsledky
Když použijete -l , každý soubor nebo adresář by vám měl poskytnout následující informace:
| drwxr-xr-x. | jdoe | apache | 3864 | 8. května 2021 | MyStuff |
|---|---|---|---|---|---|
| Oprávnění | Vlastník uživatele | Vlastník skupiny | Velikost v bitech. Použijte -h pro převod na KB/GB | Kdy byl naposledy upraven | Jméno |
Poznámka k oprávnění :Pokud existuje d na začátku je to adresář, soubor nota.
Zde je podrobnější návod, jak používat ls příkaz.
Uživatel, skupina, jiný
Každý soubor a adresář má tři typy uživatelských oprávnění, která rozpozná:
- Uživatel, který je nastaven jako Vlastník uživatele .
- Všichni uživatelé ve skupině, kteří jsou nastaveni jako Vlastník skupiny .
- Každý, kdo není v těchto prvních dvou kategoriích, je označován jako Ostatní .
Běžnou skupinou na serverech Linux je apache , takže do apache můžete přidat kohokoli, kdo pracuje na webových stránkách skupina. Poté mají přístup, který potřebují ke všem souborům a adresářům souvisejícím s webem.
-
Změna uživatelského vlastníka souboru nebo adresáře:
# chown <user>: /MyStuff -
Změna vlastníka skupiny souboru nebo adresáře:
# chown :<group> /MyStuff -
Změna vlastníka uživatele + vlastníka skupiny souboru nebo adresáře:
# chown <user>:<group> /MyStuff -
Změňte vlastníka uživatele a vlastníka skupiny souboru nebo adresáře a všeho v něm:
Důležité: Buďte opatrní s tímto příkazem, protože měníte více souborů bez možnosti vrácení zpět.
# chown -R <user>:<group> /MyStuff
Čtení, zápis, provádění
Poté, co vás soubor nebo adresář rozpozná jako vlastníka uživatele, vlastníka skupiny nebo jiného, přidělí vám kombinaci následujících oprávnění:
- r :Oprávnění ke čtení vám umožňuje prohlížet nebo číst soubor nebo adresář.
- w :Oprávnění k zápisu vám umožňuje zapisovat nebo upravovat soubor nebo adresář.
- x :Oprávnění ke spuštění vám umožňuje spustit spustitelný soubor nebo prohledat adresář.
Každému uživatelskému oprávnění je přiřazeno toto v pořadí, kde - představuje, že chybí povolení. Například následující tabulka vysvětluje oprávnění rwxr-xr– :
| rwx | r-x | r-- |
|---|---|---|
| První část, oprávnění vlastníka uživatele | Druhá část, oprávnění vlastníka skupiny | Třetí část, Jiná oprávnění |
| číst, zapisovat, provádět | číst, provádět | přečíst |
| Tento uživatel může dělat cokoli | Tento uživatel si může soubor prohlédnout a spustit. Ale neupravujte to | Tento uživatel se na to může pouze podívat |
Následující obrázek poskytuje snadný způsob, jak si to představit:
Jak změnit oprávnění pomocí písmen
-
Změnit oprávnění k souboru nebo adresáři:
# chmod ugo+-=rwx /MyStuff- Použijte libovolnou kombinaci ugo reprezentovat uživatele, skupinu, ostatní.
- Použijte libovolnou kombinaci +-= reprezentovat přidání, odebrání nebo změnu aktuálních oprávnění na specifikovaná oprávnění.
- Použijte libovolnou kombinaci rwx reprezentovat čtení, zápis, provádění.
-
Dejte přečíst oprávnění k jiným :
# chmod o+r /MyStuff -
Odebrat upravit a spustit oprávnění pro skupinu a další :
# chmod go-wx /MyStuff
Následující tabulka pomáhá ilustrovat tento koncept:
| u uživatele | + | r číst |
|---|---|---|
| skupina g | - | w write |
| nebo jiné | = | x spustit |
Poznámka: chmod můžete také použít -R rekurzivně změnit všechny soubory a adresáře v tomto adresáři. Stejně jako dříve postupujte opatrně, protože neexistuje možnost vrácení zpět.
Jak změnit oprávnění pomocí čísel
-
Změnit oprávnění k souboru nebo adresáři:
# chmod 777 /MyStuff
Tato metoda používá matematiku, kde sečtete hodnoty každého oprávnění, abyste získali konečný třímístný výsledek:
| u uživatel | skupina g | jiné | |
|---|---|---|---|
| r read =4 | |||
| write =2 | |||
| x vykonat =1 |
- Uveďte rwxr-xr– oprávnění:
| u uživatel | skupina g | jiné | |
|---|---|---|---|
| r read =4 | ✓ | ✓ | ✓ |
| write =2 | ✓ | ||
| x vykonat =1 | ✓ | ✓ | |
| 4+2+1 =7 | 4+1 =5 | 4 |
Použijte následující příkaz:
# chmod 754 /MyStuff
Poznámka: chmod můžete také použít -R rekurzivně změnit všechny soubory a adresáře v tomto adresáři. Stejně jako dříve postupujte opatrně, protože neexistuje možnost vrácení zpět.
Zde je podrobnější průvodce, jak používat chmod
UPOZORNĚNÍ: Nepoužívejte chmod 777 pokud nejste pozitivní, je to v pořádku. Linux má ve výchozím nastavení zavedena přísná bezpečnostní opatření. Některé konfigurační soubory však nejsou určeny k tomu, aby je kdokoli upravoval. Jedná se o základní soubory, které umožňují základní funkce pro počítač nebo server. Například určují, jak zapnout a umožnit uživatelům přihlášení. Pokud jsou nastaveny na 777, počítač nebo server předpokládá, že byl hacknut a vše vypne . V takovém případě se nemůžete přihlásit, nemůžete zařízení zapnout a je nevratné. Toto je velmi snadný způsob, jak úplně rozbít váš server, takže použijte chmod opatrně.
Jak cvičit
-
Vytvořte adresář:
# mkdir /MyStuff
Poté můžete ls -l , chown a chmod tento prázdný adresář, jak chcete. Až budete hotovi, ukliďte po sobě.
-
Smazat adresář:
# rmdir /MyStuff
Pokročilejší scénáře
Zde je několik scénářů k prozkoumání:
Scénář 1
Uživatel jdoe potřebuje přístup do konkrétního adresáře. Chcete však zachovat vlastníka uživatele a vlastníky skupiny tak, jak jsou.
Možnosti:
- Přidat jdoe do skupiny která vlastní adresář. To dává
jdoepřístup ke všem ostatním souborům nebo adresářům vlastněným touto skupinou. - Udělte více oprávnění „Jiné“ v tom adresáři. To umožňuje přístup všem ostatním uživatelům na vašem počítači nebo serveru.
- Dejte jdoe
sudooprávnění.jdoemůžete použítsudok přepsání oprávnění k jednotlivým souborům nebo adresářům. „jdoe“ by však pak měl oprávnění správce pro přístup k čemukoli na vašem počítači nebo serveru.
Scénář 2
Vaši vývojáři chtějí změnit /etc a vše v něm na 777 oprávnění.
Odpověď:ŘEKNĚTE JIM NE .
Existuje mnoho systémových souborů, které se porouchají a potenciálně zničí vášcelý server . Místo toho se jich konkrétně zeptejte, ke kterým souborům nebo adresářům potřebují přístup a jaký typ přístupu potřebují.
Zde je podrobnější průvodce pro pochopení oprávnění souborů Linux
Scénář 3
t s S +: Pokud spustíte ls -l a podívejte se na oprávnění, která zahrnují t s S nebo+ , nepokračujte.
Jedná se o pokročilejší oprávnění k souborům a adresářům, jako jsou SUID, Sticky Bits a ACL. Jsou složitější, ale lze je zcela přepsat běžnýmchmod příkaz.
Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.