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:
Software
Jak je to se skupinami?
28. března 2002, 00.00 | Systém přístupových práv unixu (a tedy i Mac OS X) je nám už vcelku jasný; zbývá jen poslední věc: vysvětlit si skupiny.
Systém přístupových práv unixu (a tedy i Mac OS X) je nám už vcelku jasný; zbývá jen poslední věc: vysvětlit si skupiny.Důvodem pro zavedení skupin byla potřeba spravovat objekty, ke kterým má mít speciální přístup nějaká konkrétní skupina uživatelů: naprosto typickým příkladem může být projekt, na kterém spolupracuje několik programátorů (pokud by, samozřejmě, z nějakého důvodu nepoužívali cvs). V tomto případě zřejmě nestačí to, co dosud známe — tj. nějaká práva pro vlastníka, jiná pro všechny ostatní; potřebujeme navíc speciální práva pro skupinu programátorů.
Samozřejmě, přesně o tomhle jsou skupiny: vytvoříme skupinu "programmers", všechny uživatele, kteří jsou zároveň programátory, do této skupiny přidáme, a soubory a složky projektu dáme této skupině.
Skupiny a objekty
Stejně jako má každý objekt svého jednoznačného vlastníka, patří i právě jedné, jednoznačně určené skupině. Příkaz ls -l tuto skupinu zobrazí ve čtvrtém sloupci:
285 ~> ls -l /
total 7801
-rw-r--r-- 1 root macos 59 Jan 26 20:45 000_DiskInfo.txt
drwxrwxr-x 27 root macos 874 Aug 14 2001 Applications/
drwxr-xr-x 6 root wheel 264 Nov 12 20:26 Network/
drwxr-xr-x 3 root wheel 58 Apr 4 2001 System/
drwxr-xr-x 4 ocs 99 264 Feb 28 21:55 TheVolumeSettingsFolder/
...
286 ~>
Soubor "000_DiskInfo.txt" tedy patří skupině "macos" (a zároveň, samozřejmě, uživateli "root"); složky "Network" nebo "System" patří do skupiny "wheel".
Stejně jako je tomu u uživatelů, i skupiny jsou ve skutečnosti určeny čísly. Shell tato čísla převádí na odpovídající jména pokud to je možné; u složky "TheVolumeSettingsFolder" to však možné nebylo (ta patří skupině číslo 99, jejíž jméno není systému známé).
Změna skupiny
Superuživatel může určovat skupinu společně s vlastnictvím objektu: v příkazu chown může být požadované jméno skupiny určeno za jménem uživatele, oddělené tečkou:
4 /tmp# ls -l xyz
-rw------- 1 ocs wheel 520 Mar 16 18:10 xyz
5 /tmp# chown test.macos xyz
6 /tmp# ls -l xyz
-rw------- 1 test macos 520 Mar 16 18:10 xyz
7 /tmp#
Skupiny ovšem mohou měnit i obyčejní uživatelé (samozřejmě, jen u objektů, jež jim patří). K tomu slouží příkaz chgrp; ten se používá velmi podobně jako chown, jen jeho prvním argumentem je jméno požadované skupiny:
293 /tmp> su test
Password:
1 /tmp> touch test
2 /tmp> ls -l test
-rw-r--r-- 1 test wheel 0 Mar 16 18:33 test
3 /tmp> chgrp games test
4 /tmp> ls -l test
-rw-r--r-- 1 test games 0 Mar 16 18:33 test
5 /tmp>
v rámci konta uživatele "test" jsme nejprve vytvořili soubor "test", a pak jsme změnili jeho skupinu z původní "wheel" na "games".
Členství ve skupinách
Ovšem, taková změna je možná jen tehdy, když je uživatel členem patřičné skupiny — seznam skupin, jejichž členem jsme, si můžeme zobrazit pomocí příkazu groups:
5 /tmp> groups
staff mail games guest dialer movie_authors
6 /tmp> chgrp macos test
chgrp: test: Operation not permitted
7 /tmp>
Jak je vidět, nelze změnit skupinu na takovou, jejímž členem nejsme.
A jak to je přesně s členstvím ve skupinách, jak jej můžeme určovat? Inu, k tomu si řekneme více až příště.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová