4Jul
Pokud používáte Linux nějakou dobu( a dokonce i OS X), pravděpodobně jste narazili na chybu "oprávnění".Ale co přesně jsou a proč jsou nezbytné nebo užitečné?Podívejme se vnitřně.
Oprávnění uživatelů
V den za den byly počítače masivní stroje, které byly neuvěřitelně drahé.Aby bylo co nejvíce využíváno, bylo připojeno několik počítačových terminálů, které umožnily mnoha uživatelům pracovat současně.Zpracování a ukládání dat probíhalo na stroji, zatímco samotné terminály byly jenom málo víc než prostředek pro prohlížení a zadávání dat. Pokud o tom přemýšlíte, je to v podstatě způsob, jakým přistupujeme k datům o "mraku";podívej se na systém Amazon Cloud MP3, Gmail a Dropbox a všimnete si, že i když lze provést změny místně, vše je uloženo na dálku.
( Obrázek: Zenith Z-19 "hloupý" terminál, úvěr: ajmexico)
Aby to fungovalo, musí mít uživatelé účty. Musí mít k dispozici část úložné oblasti, která jim musí být přidělena, a musí jim být povoleno spouštět příkazy a programy. Každý dostane specifická "oprávnění uživatelů", která diktuje, co mohou a nemůže dělat, kde v systému dělají a nemají přístup a jejichž soubory mohou a nemohou měnit. Každý uživatel je také umístěn do různých skupin, které udělují nebo omezují další přístup. Přístup k souborům
V tomto zběsilém světě pro více uživatelů jsme již nastavili hranice toho, co mohou uživatelé dělat. Ale co na co přistupují?Každý soubor má soubor oprávnění a vlastníka. Označení vlastníka, obvykle vázané při vytváření souboru, deklaruje, do kterého uživatele patří, a pouze tento uživatel může změnit přístupová oprávnění.
Ve světě Linuxu jsou oprávnění rozdělena do tří kategorií: čtení, psaní a spouštění.Přístup "Číst" umožňuje prohlížet obsah souboru, přístup "zapisovat" dovoluje změnu obsahu souboru a "spouštění" umožňuje spustit sadu instrukcí, jako je skript nebo program. Každá z těchto kategorií se používá v různých třídách: uživatel, skupina a svět."Uživatel" znamená vlastníka, "skupina" znamená jakéhokoli uživatele, který je ve stejné skupině jako vlastník, a "svět" znamená někoho a každého. Složky
mohou být také omezeny těmito oprávněními. Můžete například povolit jiným lidem ve vaší skupině, aby zobrazovali adresáře a soubory ve vaší domovské složce, ale nikdo mimo vaši skupinu. Pravděpodobně budete chtít omezit přístup "psát" pouze na sebe, pokud nepracujete na nějakém sdíleném projektu. Můžete také vytvořit sdílený adresář, který umožňuje komukoli prohlížet a upravovat soubory v této složce.
Změna oprávnění v Ubuntu
GUI
Chcete-li změnit oprávnění souboru, který vlastníte v Ubuntu, klepněte pravým tlačítkem myši na soubor a přejděte na položku "Vlastnosti".
Můžete změnit, zda si uživatel, skupina nebo jiní mohou číst a psát,pouze číst nebo nedělat nic. Můžete také zaškrtnout políčko umožňující spuštění souboru a toto umožní pro majitele, skupinu a další uživatele současně.Příkazový řádek
Toto můžete provést také příkazovým řádkem. Přejděte do adresáře obsahujícího soubory a zadejte následující příkaz pro zobrazení všech souborů v seznamu:
ls -al
Vedle každého souboru a adresáře se zobrazí zvláštní sekce, která načrtává jeho oprávnění.Vypadá to takto:
-rwxrw-r-
r znamená "číst" w znamená "write" a x znamená "execute." Adresáře budou začínat "d "namísto" - ".Také si všimnete, že je 10 míst, které mají hodnotu. Nejprve můžete ignorovat a pak jsou 3 sady 3. První sada je pro majitele, druhá sada pro skupinu a poslední sada pro svět.
Chcete-li změnit oprávnění souboru nebo adresáře, podívejte se na základní formu příkazu chmod.
chmod [třída] [operátor] [oprávnění] soubor
chmod [ugoa] [+ nebo -] [rwx] soubor
To se může zdát komplikované zpočátku, ale věřte mi, Nejprve se podívejme na třídy:
- u: Toto je pro vlastníka.
- g: Toto je pro skupinu.
- o: Toto je pro všechny ostatní.
- a: Změní se oprávnění pro všechny výše uvedené.
Dále operátoři:
- +: Značka plus přidá oprávnění, která následují.
- -: Znak mínus odebere následující oprávnění.
Stále se mnou? A poslední část je stejná jako při kontrole oprávnění souboru:
- r: Umožňuje přístup ke čtení.
- w: Umožňuje přístup pro zápis.
- x: Umožňuje provedení.
Nyní to pojďme dohromady.Řekněme, že máme soubor s názvem "todo.txt", který má následující oprávnění:
-rw-rw-r-
To znamená, že vlastník a skupina mohou číst a psát a svět může číst pouze. Chceme změnit oprávnění k těmto:
-rwxr--
To znamená, že vlastník má plná oprávnění a skupina může číst. Můžeme to udělat ve třech krocích. Nejprve přidáme uživateli oprávnění k provádění.
chmod u + x todo.txt
Potom odebereme oprávnění k zápisu pro skupinu.
chmod g-w todo.txt
Konečně odstraníme oprávnění ke čtení pro všechny ostatní uživatele.
chmod o-r todo.txt
Můžeme je také kombinovat do jednoho příkazu, například takto:
chmod u + x, g-w, o-r todo.txt
Vidíte, že každá sekce je oddělena čárkami a nejsou mezery.
Zde jsou některá užitečná oprávnění:
- -rwxr-xr-x: Vlastník má plná oprávnění, skupina a ostatní uživatelé mohou číst obsah souboru a provádět.
- -rwxr-r-: Vlastník má plná oprávnění, skupina a ostatní uživatelé mohou pouze číst soubor( užitečné, pokud nevadí ostatním prohlížení souborů.)
- -rwx--: Vlastník má plná oprávnění, všechny ostatní nemají žádnépro osobní skripty)
- -rw-rw--: Vlastník a skupina mohou číst a psát( užitečné pro spolupráci s členy skupiny)
- -rw-r-r-: Vlastník může číst a psát,(užitečné pro ukládání osobních souborů na sdílené síti)
- -rw ---: Majitel může číst a psát, všechny ostatní nemají( užitečné pro ukládání osobních souborů)
Je s vámi několik dalších věcí, které můžete udělatchmod - jako setuid a setgid - ale oni jsou trochu in-hloubka a většina uživatelů nebude opravdu muset použít je stejně.
Root nebo super-uživatelské a systémové soubory
V současné době ne vždy běží systémy, kteréProč bychom se měli stále zabývat oprávněními?
No, Unix ajeho deriváty - Linux, OS X, mimo jiné - také rozlišují mezi věcmi, které řídí uživatel, věci spravované administrátorem nebo administrátory a věci spravované samotným systémem. Takové věci, které jsou integrální pro systém, vyžadují administrátorská práva, která mají být změněna nebo přístupná.Tímto způsobem nic nehrozíte náhodou.
V Ubuntu můžete provádět změny v systémových souborech pomocí "sudo" nebo "gksudo", aby získali ekvivalent oprávnění administrátora. V ostatních distribucích přepnete na "root" nebo "superuživatele", které efektivně dělají totéž, dokud se odhlásíte.
Uvědomte si, že v obou těchto případech může změna oprávnění souboru vést k tomu, že programy nefungují, neúmyslně mění vlastnictví souborů na kořenového uživatele( namísto vlastníka) a zhoršuje bezpečnost systému( udělením dalších oprávnění).Jako takové doporučujeme neměnit oprávnění pro soubory - zejména systémové soubory - pokud to není nutné nebo víte, co děláte.
Soubor oprávnění jsou k dispozici pro poskytnutí základního systému zabezpečení mezi uživateli. Učení, jak fungují, vám pomůže nastavit základní sdílení v prostředí pro více uživatelů, chránit "veřejné" soubory a poskytnout vám vodítko, pokud jde o to, že se něco stane s vlastnictvím systému souborů.
Myslíte si, že můžete věci jednoduše vysvětlit? Máte opravu? Chcete vzpomínat na staré dny? Udělejte si přestávku a položte své myšlenky do komentářů.