Skupiny Linuxu jsou nutné pro snadnou správu a správu uživatelů. Systém Linux a Unix obsahuje běžné (normální) a systémové skupiny.
Prostředky Linuxu (řekněme soubor nebo adresáře) mají nastavena oprávnění ke čtení, zápisu nebo spouštění pro přidruženou skupinu, která má uživatele, kteří tato oprávnění sdílejí.
V tomto tutoriálu se naučíme, jak vytvořit skupiny v Linuxu pomocí příkazu groupadd.
Příkaz Grouppadd
Operační systémy Linux a Unix používají groupadd
příkaz k vytvoření skupin. Ke spuštění groupadd
byste měli mít přístup root nebo uživatelské oprávnění sudo příkaz.
Následující řádek ukazuje syntaxi příkazu groupadd:
groupadd [options] groupname
Jak vytvořit skupinu v Linuxu
Pro vytvoření skupiny použijte groupadd
příkaz následovaný názvem skupiny.
Následující příkaz přidá do systému skupinu 'vývojáři' a později můžete do této skupiny přidat uživatele.
# groupadd developers
Informace o skupině budou uloženy v souboru '/etc/groups' a k vyhledání názvu skupiny můžete použít příkaz grep.
Například umožňuje vyhledat skupinu 'developers' pomocí příkazu grep v souboru '/etc/group':
# grep developers /etc/group
developers:x:506:
Vytvořit skupinu s vlastním GID
V předchozím tutoriálu, který jsme viděli při vytváření nového uživatele, systém pro každého uživatele vytvoří jedinečné ID uživatele (UID). Podobně, když vytvoříme novou skupinu, vytvoří se číslo GID (ID skupiny).
Chcete-li zadat vlastní (specifické) číslo GID, můžete jej poskytnout pomocí -g
nebo --gid
možnost.
Následující příklad ukazuje vytvoření skupiny s názvem 'vývojáři' se specifickým GID (3456):
# groupadd -g 3456 developers
Pro ověření můžeme vypsat skupinu a použít příkaz grep k filtrování:
# grep developers /etc/group
developers:x:3456:
Vytvořte systémovou skupinu
GID (Group ID) jsou ve výchozím nastavení přiděleny skupinám mezi hodnotami „GID_MIN“ a „GID_MAX“ definovanými v souboru login.defs (/etc/login.defs). Obvykle je hodnota GID_MIN ve většině systémů Linux 500 nebo 1000 .
GID pod 'GID_MIN' jsou vyhrazeny pro systémové skupiny (pro operace jako zálohování, údržba nebo pro udělování přístupu k hardwaru). Chcete-li vytvořit skupinu s GID pod hodnotou 'GID_MIN', použijte -r
možnost.
Například vytvořte skupinu 'devsys' pomocí -r
možnost:
# groupadd -r devsys
Pojďme to ověřit výpisem skupiny a uvidíme, že přidělený GID je 102 (což je méně než 500).
# grep devsys /etc/group
devsys:x:102:
Vytvoření skupiny s nejedinečným GID
Pokud vytvoříme skupinu s existujícím GID číslem, systém vytvoření skupiny nedovolí. Existuje však možnost přidělit skupině nejedinečné GID.
Následující výstup ukazuje, že systém nedovolí vytvoření skupiny s názvem 'devops', protože existuje další skupina s číslem GID 505.
# groupadd -g 505 devops
groupadd: GID 505 is not unique
Nyní vytvoříme skupinu s nejedinečným GID pomocí volby -o.
Tentokrát můžete vidět, že je vytvořena skupina 'devops'.
# groupadd -o -g 505 devops
Když vypíšete skupiny, můžete vidět, že existují dvě skupiny se stejným číslem GID:
# grep 505 /etc/group
bill:x:505:
devops:x:505:
Změna výchozích možností
Chcete-li přepsat výchozí (zejména GID_MIN a GID_MAX) hodnoty definované pro soubor '/etc/login.defs', můžete použít -K
možnost.
Nechte například vytvořit skupinu s názvem 'coders' s přepisujícími výchozími hodnotami pro 'GID_MIN' (nastaveno na 1500) a 'GID_MAX' (nastaveno na 1700):
# groupadd -K GID_MIN=1500 -K GID_MAX=1700 coders
Následující výstup potvrzuje, že skupina 'kódery' byla vytvořena s GID '1502', který jsme nastavili mezi GID_MIN a GID_MAX hodnotami:
# grep coders /etc/group
coders:x:1502:
Vytvoření hesla skupiny
Skupinová hesla se z bezpečnostních důvodů příliš často nepoužívají, což nutí lidi sdílet jedno heslo, když více lidí vyžaduje přístup k jedné konkrétní skupině.
Můžete použít -p
možnost vytvořit heslo pro novou skupinu.
V následujícím příkazu vytvoříme heslo 'password123' pro novou skupinu 'coders':
# groupadd -p password123 coders
Vynutit úspěch stávající skupině
Jak víme, pokud se pokusíme vytvořit skupinu, která již existuje, selže.
Zkusme přidat existující skupinu 'javaproject' a uvidíme, jaký by byl její výstupní stav:
# groupadd javaproject
groupadd: group javaproject exists
# echo $?
9
Vidíme, že příkaz skončil s chybou. Ano, to bylo jasné. Ale pokud chcete ukončit příkaz se stavem úspěchu, když skupina existuje, použijte -f
nebo --force
možnost.
V prvním příkazu jsem přidal -f
možnost a uvidíte, že je ukončena bez chyby. Druhý příkaz ověří kód ukončení a potvrdí, že byl úspěšný.
# groupadd -f javaproject
# echo $?
0
Závěr
V tomto tutoriálu jsme se naučili, jak vytvořit skupinu v Linuxu a možnosti příkazu groupadd. Příkaz Groupadd by měl fungovat na všech distribucích Linuxu včetně Ubuntu, Debianu, Centos a Mintu.
Doufám, že se vám čtení líbilo a zanechte prosím své návrhy v sekci komentářů níže.