Jak je to s administrátory - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se narodil známý fotograf František Drtikol?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Software

Jak je to s administrátory

29. května 2006, 00.00 | Již víme, jakým způsobem Mac OS X autentifikuje uživatele, a také jak jej autorizuje k různým operacím. Jaká uživatelská konta však jsou v Mac OS X běžně k dispozici? O tom si více řekneme dnes.

Již víme, jakým způsobem Mac OS X autentifikuje uživatele, a také jak jej autorizuje k různým operacím. Jaká uživatelská konta však jsou v Mac OS X běžně k dispozici? O tom si více řekneme dnes.

Mimochodem – my zde pojmy "uživatel" a "uživatelské konto" užíváme víceméně jako synonyma (což nevadí, neboť v praxi nemůže dojít k záměně); striktně vzato však uživatelské konto je skupina všech údajů a nastavení, jež Mac OS X pro konkrétního uživatele spravuje. Patří mezi ně samozřejmě uživatelovo krátké i dlouhé jméno, jeho heslo, jeho domovská složka, seznam skupin, jejichž je členem, nastavení shellu, s nímž chce pracovat v terminálu, a podobně.

Administrátor

Mac OS X rozlišuje dva typy uživatelů: běžného uživatele a administrátora. Na úrovni grafického uživatelského rozhraní jsou oba typy odlišeny přepínačem "allow user to administer this computer" (v odpovídajícím panelu pro nastavení atributů uživatelského konta v aplikaci System Preferences). Ve skutečnosti je rozdíl mezi nimi prajednoduchý: administrátorem je kterýkoli uživatel, který je ve skupině "admin".

Standardní přístupová práva složek a souborů v Mac OS X jsou nastavena tak, že administrátor (tedy kdokoli, kdo je ve skupině "admin") má přístup k řadě důležitých systémových souborů – jmenovitě k aplikacím – a může je volně měnit – podívejme se na následující výpis z Terminálu:

145 /tmp> cd /Applications                       
146 /Applications> ls -ld .
drwxrwxr-x   73 root  admin  2482 Apr 14 00:44 ./
147 /Applications> ls -ld Address\ Book.app Automator.app Mail.app Safari.app     
drwxrwxr-x   3 root  admin  102 Mar 24 00:45 Address Book.app/
drwxrwxr-x   3 root  admin  102 Mar 24 00:52 Automator.app/
drwxrwxr-x   3 root  admin  102 Mar 24 01:50 Mail.app/
drwxrwxr-x   3 root  admin  102 Mar 24 01:50 Safari.app/
148 /Applications> 

Vidíme, že všechny zobrazené (ale platí to i pro ostatní) aplikace, stejně jako sama složka "/Applications", patří skupině "admin", a mají ve druhé skupině přístupových práv "rwx" – takže kterýkoli uživatel, který je v této skupině, je smí volně číst i měnit. To samozřejmě přináší určité bezpečnostní risiko: pokud bychom v rámci konta administrátora např. spustili program, obsahující virus, mohl by virus vinou těchto přístupových práv bez obtíží napadnout všechny aplikace!

Kromě toho má (při standardním nastavení) administrátor také právo na základě obnovené autentifikace dočasně získat status superuživatele; to si vysvětlíme v příštím odstavci. To bezpečnostní risiko dále zvyšuje.

Proto obecně platí, že administrátorské konto je naprosto nevhodné pro běžnou práci. Bohužel, standardní instalace Mac OS X vytvoří právě administrátorské konto, a ačkoli uživatel samozřejmě ihned může vytvořit další neadministrátorské pracovní konto – a také by to měl udělat! – konfigurační asistent jej k tomu nevyzve. Proto poměrně mnoho laických uživatelů Mac OS X běžně pracuje v administrátorském kontě, a to je nejvýznamnější bezpečnostní risiko Mac OS X (v podstatě také jediné skutečně významné, vše ostatní, o čem se čas od času můžeme dočíst na Webu, jsou většinou jen nafouknuté bubliny neznamenající risiko vůbec žádné, nebo přinejhorším skutečné, ale nepříliš významné bezpečnostní "díry", jež ale Apple obvykle opraví dříve, než se o nich dozvědí případní hackeři).

Tohle je velmi důležité, proto si to zopakujeme tučným písmem:

  • uživatelské konto, jež Mac OS X vytvoří při instalaci, je administrátorské;
  • proto je nikdy, nikdy, nikdy neužíváme pro běžnou práci;
  • namísto toho hned po instalaci vytvoříme běžné uživatelské konto (s vypnutým přepínačem "allow user to administer this computer"), a v něm běžně pracujeme;
  • původní administrátorské konto pak slouží pouze pro případy, kdy chceme explicitně provádět rozsáhlejší administraci.

Poslední bod je zapotřebí velmi zřídkakdy: jelikož naprostá většina aplikací, včetně Finderu, System Preferences i Installeru, dokáže v případě potřeby automaticky vyvolat autentifikaci pouze pro požadovanou operaci (což je samozřejmě nesrovnatelně bezpečnější, než dáváme-li všem aplikacím carte blanche pro všechny operace předem), je potřeba přihlásit se explicitně jako administrátor naprosto výjimečná.

Mimochodem, získáme tak další drobnou výhodu okrajově související s bezpečností, jíž je záložní konto – pokud bychom se snad nějakým způsobem (třeba spuštěním "zlého" trojského koně, který promyšleným způsobem poničí aplikační předvolby) dostali do situace, kdy nebude možné se úspěšně přihlásit do našeho pracovního konta, nevadí: vždy se můžeme přihlásit jako administrátor (jehož data jsou samozřejmě chráněna, takže je z pracovního účtu poškodit nelze), a z jeho konta to pracovní opravit (administrátor si – na rozdíl od běžného uživatele – může přístup do cizích kont po další autentizaci vyžádat; hned v příštím odstavci si řekneme jak).

Kořen neboli root

Poslední záležitost, již si vysvětlíme v souvislosti se základním bezpečnostním systémem Mac OS X, je uživatel "root".

Z mnoha hledisek je žádoucí, aby existoval "superuživatel", jehož práva jsou v principu neomezená: představme si např. víceuživatelský systém, kde jeden z uživatelů zruší jakýkoli kontakt s administrátory: je třeba mít možnost soubory takovéhoto uživatele smazat, aniž by tím byla dotčena data ostatních uživatelů. Může se také stát, že běžný uživatel prostě zapomene heslo; v takovém případě je opět vhodné, aby bylo možné mu "zvenčí" nastavit heslo nové, a dát mu je na vědomí, aby se mohl opět přihlásit do svého konta.

Z těchto důvodů všechny systémy založené na Unixu tradičně obsahují speciální uživatelské konto "root" (identifikací takovéhoto uživatele je uživatelské číslo 0). Uživatel "root" může v zásadě cokoli: může smazat, přečíst nebo změnit libovolný soubor, může měnit kterékoli údaje pro kteréhokoli uživatele, a tak dále.

Je ovšem na první pohled zřejmé, že ačkoli existence superuživatele je cenná a mnohdy nenahraditelná, zároveň přináší i značné bezpečnostní risiko: pokud by se nějaký hacker dokázal přihlásit k našem počítači jako "root", nebo pokud by se nějaký malware dokázal spustit jako proces s uživatelským číslem 0, může si s počítačem a s daty v něm uloženými dělat v podstatě cokoli, co se mu zachce.

Mac OS X (stejně jako většina moderních unixových operačních systémů) tento problém řeší tak, že konto superuživatele jako takové je nepoužitelné: "root" se prostě přímo autentifikovat vůbec nemůže. Namísto toho mohou vybraní uživatelé získat pro své akce dočasně a omezeně superuživatelská práva na základě zvláštní autentifikace. To je obecně daleko bezpečnější, díky tomu, že neomezené právo "dělat cokoli" se vztahuje pouze na ty konkrétní operace, pro něž je zapotřebí, a ne na ostatní (přináší to však jisté risiko spojené s kvalitou hesel, tím větší, čím je administrátorů v systému víc – ještě se o něm zmíníme).

Jde vlastně o paralelu výše popsané nutnosti práce v uživatelském neadministrátorském kontu: stejně jako je třeba všechny běžné akce dělat s oprávněním pouhého uživatele, a pouze na administraci dočasně získat administrátorská práva, tak běžnou administraci je vhodné dělat s právy "pouhého administrátora" a superuživatelské oprávnění využívat pouze pro ty akce, pro něž je třeba.

A jaké akce to jsou? Především změna vlastnictví objektů: měnit vlastníka (jakéhokoli) objektu může pouze superuživatel. Kromě toho Mac OS X (velmi rozumně) omezuje přístup k řadě systémových souborů jen pro superuživatele, a nepouští k nim ani administrátory (tj. vlastníkem souborů je "root" a soubory nemají – na rozdíl od např. aplikací – povolený přístup ze skupiny "admin".

Aplikace s grafickým uživatelským rozhraním samozřejmě pro dočasné získání superuživatelských práv mohou využít standardní autentifikační modul; v terminálu k tomu slouží speciální příkaz sudo – základní využití je velmi jednoduché, prostě jej vložíme před libovolný příkaz, který chceme provést jako root (např. tedy "sudo rm -rf /" je zcela spolehlivý způsob, jak se připravit kompletně o všechna data).

Standardně je systém nastaven tak, že dočasně získat práva superuživatele mohou pouze administrátoři (a nikdo jiný), a mohou tak učinit po nové autentifikaci s užitím vlastního hesla (v principu tedy admin "může cokoli kdykoli" – admin své heslo samozřejmě zná –, avšak tento systém velmi dobře chrání před risikem, že by mohl superuživatelské operace provést někdo, kdo se náhodou na chvíli dostane k nehlídanému počítači, k němuž je zrovna admin přihlášen). Mechanismus sudo je však velmi flexibilní a umožňuje i jiné konfigurace; popisovat podrobnosti by přesáhlo záběr tohoto seriálu, můžeme je však nalézt v manuálu ("man sudo").

Za zmínku stojí to, že standardní nastavení může přinést jisté "psychologické" snížení bezpečnosti, pokud je nemají administrátoři na paměti. Jde o to, že každý samozřejmě superuživateli přidělí kvalitní a těžko uhádnutelné heslo; uživatelé však občas mívají tendenci "pouhým administrátorům" přidělovat hesla jednodušší (i já mám na jednom z počítačů administrátorské konto s heslem "admin", to však je testovací stroj, na němž nikdy nejsou uložena žádná citlivá ani důležitá data). Je tedy třeba si dát pozor na to, že při standardním nastavení sudo stačí uhádnout libovolné heslo libovolného administrátora, a získáme tím neomezený přístup k systému – pokud to může v konkrétní konfiguraci být problém, může se vyplatit sudo překonfigurovat např. tak, aby bylo pro získání superuživatelských práv nutné zadat samostatné heslo superuživatele.

Poslední okrajově související poznámka: je mimochodem ještě vhodné si uvědomit, že (nejen, ale také) vzhledem k existenci superuživatele (a možnosti administrátorů získat pro své operace jeho oprávnění) obecně platí, že jakákoli důvěrná data, uložená v počítači, by měla vždy být zašifrovaná. Pak sice hypotetický zlovolný administrátor může v extrémním případě takováto data smazat, avšak nemá žádnou možnost zjistit jejich obsah. Pro mnoho citlivých údajů to platí implicitně, aniž bychom se o to museli jakkoli starat – kupříkladu uživatelská hesla nebo cokoli, co je uloženo v KeyChainu, je standardně zašifrováno, a nikdo (kdo nezná naše heslo) to nemůže přečíst. Tím, jak šifrovat další data a soubory, se samozřejmě budeme podrobně zabývat v budoucích pokračováních tohoto seriálu.

Příště...

... se tedy právě proto vrátíme do GUI a k běžným operacím, a ukážeme si, jak šifrovat důležitá a citlivá data.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

opět super

Autor: nasciturus Muž

Založeno: 29.05.2006, 08:48
Odpovědí: 0

článek opět supr ale mám dotaz. Pracuji(blbě) pod účtem "admin", dá se tento účet nějak přenést do úrovně "standart"?

Odpovědět na příspěvek

Ako je to s prepinanim uzivatelov?

Autor: zaciatocnik Muž

Založeno: 29.05.2006, 08:52
Odpovědí: 0

Takze ak som to spravne pochopil, ked pracujem ako bezny uzivatel a potrebujem urobit nejaku operaciu ako root, tak sa musim najprv prepnut do uctu administratora a potom pouzit prikaz "sudo". Je tak?
Este jedna otazka: Je neobvykle resp. nevhodne pouzit Fast User Switch t.j. ked som prihlaseny ako bezny uzivatel, prihlasim sa cez Fast User Switch ako administrator, vykonam co potrebujem a odlasim sa z administratorskeho desktopu?

Odpovědět na příspěvek

Taky se hlasim :)

Autor: Pes Karter Muž

Založeno: 29.05.2006, 09:12
Odpovědí: 0

Dalsi super clanek. Tak ja jsem na tom uplne stejne. Po instalaci systemu jsem si vytvoril prvni a jedine konto a v nem pracuji dodnes, coz jak se prave dozvidam neni vubec dobre. Takto to mam ke vsemu na obou strojich. Je pravda, ze instalace systemu k zalozeni uctu "na praci" nenavadi, coz je velka skoda.

Ted jak z toho ven ? Kdyz si zalozim dalsi ucet, neadministratorsky, na beznou praci, budu mit pristup k aplikacim a datum jako dosud ? A co rozpracovane zalezitosti, iMovie, iWeb, GarageBand ? Zacnu pod timto uctem uplne "z cisteho" ? Co treba fotografie v iPHoto ?

Jestli to dobre chapu, tak ted jsem administrator a pokud vytvorim noveho uzivatele, tak ten by nemel do dat administratora vubec videt ?

Odpovědět na příspěvek

RE: Taky se hlasim :)

Autor: hroch32 Muž

Založeno: 29.05.2006, 09:29

Vytvorit novy, administratorsky ucet a z nej pak soucasny ucet nastavit jako 'bezny' - staci v 'System Preferences/Accounts/Secu
rity' zrusit zaskrtnuti 'Allow user to administer this computer'. Funguje bez restartu, dokonce i kdyz je uzivatel prihlasen - nesmi se tudiz zapomenout na vytvoreni toho administratorskeho uctu, protoze jinak je pocitac "neovladatelny".

Odpovědět na příspěvek

RE: RE: Taky se hlasim :)

Autor: Pes Karter Muž

Založeno: 29.05.2006, 11:34

Dik za radu, to me nenapadlo a pritom to zni logicky :)

Odpovědět na příspěvek

Díky

Autor: Jan Korbel Muž

Založeno: 29.05.2006, 09:23
Odpovědí: 0

Srozumitelný a přínosný článek, díky.

Odpovědět na příspěvek

Ako je to s prepinanim uzivatelov?

Autor: zaciatocnik Muž

Založeno: 29.05.2006, 09:29
Odpovědí: 0

Takze ak som to spravne pochopil, ked pracujem ako bezny uzivatel a potrebujem urobit nejaku operaciu ako root, tak sa musim najprv prepnut do uctu administratora a potom pouzit prikaz "sudo". Je tak?
Este jedna otazka: Je neobvykle resp. nevhodne pouzit Fast User Switch t.j. ked som prihlaseny ako bezny uzivatel, prihlasim sa cez Fast User Switch ako administrator, vykonam co potrebujem a odlasim sa z administratorskeho desktopu?

Odpovědět na příspěvek

RE: Ako je to s prepinanim uzivatelov?

Autor: hroch32 Muž

Založeno: 29.05.2006, 09:47

sudo:presne tak; FUS:neni duvod, aby to byl problem.

Odpovědět na příspěvek

opět super

Autor: nasciturus Muž

Založeno: 29.05.2006, 10:21
Odpovědí: 0

článek opět supr ale mám dotaz. Pracuji(blbě) pod účtem "admin", dá se tento účet nějak přenést do úrovně "standart"?

Odpovědět na příspěvek

Tak postupně...

Autor: OC Muž

Založeno: 29.05.2006, 16:04
Odpovědí: 0

(i) převést admina na neadmina není problém, už to tu někdo psal:
- vytvořit nový "adminovský" účet (a přidělit mu netriviální heslo :))
- zrušit v pracovním účtu adminovská práva.

(ii) Fast User Switch: nic špatného na něm není, ale málokdy je zapotřebí. V praxi je většinou pohodlnější využít toho, že takřka všechny aplikace, jež mohou někdy dělat "adminovské věci" (např. Finder, System Preferences, Installer) se samy dokáží dočasně autorizovat. Ale samozřejmě, pokud např. chcete pracovat delší dobu se složkou /Applications, je lepší se na to přepnout do admina, aby Finder pořád neotravoval s autorizací pro každou operaci :)

(iii) sudo: ano, pokud dělám v běžném uživatelském účtu a chci v terminálu nějakou rootovinu, nejprve udělám "su administrátoský_účet" a z něj pak sudo;

Snad jsem na nic nezapomněl :)

Odpovědět na příspěvek

dekuji

Autor: vita Muž

Založeno: 29.05.2006, 20:26
Odpovědí: 0

fajn tema, kteremu vubec nerozumim :-), takhle se alespon neco naucim, dekuji

Odpovědět na příspěvek

Konecne ceska terminologie:)

Autor: ANo Muž

Založeno: 30.05.2006, 12:39
Odpovědí: 0

Ma prosba o zrovnopravneni ceske terminologie byla konecne vyslysena: "Kořen neboli root"!

Diky, to me fakt dostalo. Zatim jediny svetly bod destiveho dne...

(Jinak cesti lokalizatori zvlolili pro administratory termin "spravce", odpovidajici volba je pak 'povolit spravu' - ale to se da jen odhadovat, kdyz nemate ceskou lokalizaci.)

Odpovědět na příspěvek

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: