V tomto tutoriálu se naučíme, jak vytvořit skupinu v Linuxu pomocí groupadd příkaz.
Co je to skupina Linux?
Skupina Linux se používá ke správě oprávnění uživatele. Můžeme definovat sadu oprávnění pro skupinu, jako je přístup pro čtení a zápis ke konkrétnímu zdroji. Poté všichni uživatelé ve skupině automaticky získají přístup k tomuto prostředku.
Jednoduše řečeno, skupina je sbírka uživatelů. Pomáhá nám to rychle udělovat oprávnění skupině uživatelů. Například „sudo“ je skupina a každý uživatel v této skupině automaticky získá práva superuživatele.
Jak vytvořit skupinu v Linuxu?
Příkaz groupadd pro Linux se používá k vytvoření skupiny v Linuxu. Je to příkaz specifický pro linux a lze jej použít ve všech distribucích, jako je Ubuntu, CentOS a Debian.
Linuxová syntaxe příkazu groupadd
Syntaxe příkazu groupadd je:
groupadd [options] GROUP
Podívejme se na několik příkladů, abychom porozuměli použití příkazu groupadd a jeho různým možnostem.
Linux Create Group
Příkaz groupadd může spustit uživatel root nebo jako superuživatel pomocí práv sudo.
root@localhost:~# groupadd test_users
Pokud je skupina vytvořena, neobjeví se žádná chyba ani zpráva o úspěchu.
Informace o skupinách jsou uloženy v /etc/group
soubor. V tomto souboru můžeme zkontrolovat informace o nově vytvořené skupině.
root@localhost:~# cat /etc/group | grep test_users test_users:x:1004: root@localhost:~#
Výše uvedené číslo označovalo id skupiny, což je celočíselná hodnota. Můžeme také použít getent
příkaz k získání podrobností o skupině.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~#
Chyba, pokud skupina již existuje
Pokud skupina již existuje, zobrazí se chybová zpráva. Spusťte znovu výše uvedený příkaz.
root@localhost:~# groupadd test_users groupadd: group 'test_users' already exists root@localhost:~#
Vytvoření skupiny s ID skupiny
ID skupiny můžeme zadat také při vytváření skupiny pomocí volby -g.
root@localhost:~# groupadd -g 1005 test_users1 root@localhost:~# cat /etc/group | grep 1005 test_users1:x:1005: root@localhost:~#
Pokud se ID skupiny již používá, zobrazí se chybová zpráva.
root@localhost:~# groupadd -g 1005 test_users2 groupadd: GID '1005' already exists root@localhost:~#
Linux groupadd Force Success Option
Můžeme zadat volbu -f nebo –force pro úspěšné ukončení, pokud skupina již existuje.
root@localhost:~# groupadd -f test_users root@localhost:~#
Pokud vytváříme skupinu s možností vynutit úspěch a ID skupiny již existuje, pak je ID skupiny ignorováno a skupina je vytvořena.
root@localhost:~# groupadd -f -g 1005 test_users2 root@localhost:~# cat /etc/group | grep test_users2 test_users2:x:1006: root@localhost:~#
Všimněte si, že skupina Linux je vytvořena s jiným ID skupiny, protože jsme použili volbu -f.
Nápověda k přidání skupiny Linux
Pokud potřebujete pomoc s použitím příkazu groupadd, použijte volbu -h.
root@localhost:~# groupadd -h Usage: groupadd [options] GROUP Options: -f, --force exit successfully if the group already exists, and cancel -g if the GID is already used -g, --gid GID use GID for the new group -h, --help display this help message and exit -K, --key KEY=VALUE override /etc/login.defs defaults -o, --non-unique allow to create groups with duplicate (non-unique) GID -p, --password PASSWORD use this encrypted password for the new group -r, --system create a system account -R, --root CHROOT_DIR directory to chroot into --extrausers Use the extra users database root@localhost:~#
Linux groupadd -K Option
Můžeme použít volbu -K k přepsání hodnot GID_MIN a GID_MAX obsažených v souboru /etc/login.defs.
To znamená, že nové ID skupiny bude převzato z rozsahu poskytnutého pomocí volby -K. Podívejme se na příklad, abychom tuto funkci jasně pochopili.
root@localhost:~# cat /etc/login.defs | grep GID GID_MIN 1000 GID_MAX 60000 root@localhost:~# root@localhost:~# groupadd -K GID_MIN=20000 -K GID_MAX=21000 test_users6 root@localhost:~# cat /etc/group | grep test_users6 test_users6:x:20000: root@localhost:~#
Pokud se podíváte na předchozí příkazy, přiřazená ID skupin byla blízko 1000. Ale ve výše uvedeném příkazu groupadd je použito ID skupiny 20000.
Vytvoření skupiny s heslem
Můžeme použít volbu -p k vytvoření skupiny s heslem.
root@localhost:~# groupadd -p abc123 test_users_pwd root@localhost:~#
Sám jsem to však nikdy nepoužil ani jsem nikoho neviděl. Manuálová stránka gpasswd to ve skutečnosti uvádí jako bezpečnostní problém.
root@localhost:~# man gpasswd Notes about group passwords Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co-operation between different users.'
Vytvoření systémové skupiny
Můžeme použít volbu -r k vytvoření systémové skupiny.
Mezi normální skupinou a systémovou skupinou není žádný rozdíl. Jediný rozdíl je přiřazení ID skupiny.
Pro normální skupiny jsou ID skupin přiřazena od 1000 do 60000 (výchozí hodnota). U systémové skupiny je ID skupiny menší než 1000.
Opět platí, že ID skupiny nemá žádný význam nebo neposkytuje žádná další oprávnění.
root@localhost:~# groupadd -r system_group root@localhost:~# cat /etc/group | grep system_group system_group:x:999: root@localhost:~#
Všimněte si, že přiřazené ID skupiny je 999.
Závěr
Pro přidání skupin v Linuxu můžeme použít příkaz groupadd. Je to velmi jednoduchý a běžný příkaz, který lze použít s jakoukoli distribucí Linuxu k vytvoření skupiny.
Odkazy:
- Diskuse StackExchange o případech použití skupinových hesel
- Diskuse AskUbuntu o systémových skupinách