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 -a
Pozná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á
jdoe
pří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
sudo
oprávnění.jdoe
můžete použítsudo
k 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.