In questo tutorial impareremo come creare un gruppo in Linux usando groupadd comando.
Cos'è un gruppo Linux?
Un gruppo Linux viene utilizzato per gestire i privilegi di un utente. Possiamo definire un insieme di privilegi per un gruppo come l'accesso in lettura e scrittura a una risorsa specifica. Quindi tutti gli utenti del gruppo ottengono automaticamente l'accesso a quella risorsa.
In parole povere, un gruppo è un insieme di utenti. Ci aiuta a concedere rapidamente i privilegi a un gruppo di utenti. Ad esempio, "sudo" è un gruppo e qualsiasi utente in quel gruppo ottiene automaticamente i privilegi di superutente.
Come creare un gruppo in Linux?
Il comando groupadd di Linux viene utilizzato per creare un gruppo in Linux. È un comando specifico di Linux e può essere utilizzato su tutte le distribuzioni come Ubuntu, CentOS e Debian.
Sintassi del comando di aggiunta gruppo Linux
La sintassi del comando groupadd è:
groupadd [options] GROUP
Diamo un'occhiata ad alcuni esempi per comprendere l'utilizzo del comando groupadd e le sue varie opzioni.
Linux Crea gruppo
Il comando groupadd può essere eseguito dall'utente root o come superutente utilizzando i privilegi sudo.
root@localhost:~# groupadd test_users
Se il gruppo viene creato, non ci saranno messaggi di errore o di successo.
Le informazioni sui gruppi sono memorizzate in /etc/group
file. Possiamo controllare questo file per le informazioni sul gruppo appena creato.
root@localhost:~# cat /etc/group | grep test_users test_users:x:1004: root@localhost:~#
Il numero sopra indicava l'id del gruppo, che è un valore intero. Possiamo anche usare il getent
comando per ottenere i dettagli del gruppo.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~#
Errore se il gruppo esiste già
Se il gruppo esiste già, viene visualizzato il messaggio di errore. Eseguiamo di nuovo il comando precedente.
root@localhost:~# groupadd test_users groupadd: group 'test_users' already exists root@localhost:~#
Creazione di un gruppo con ID gruppo
Possiamo specificare l'id del gruppo anche durante la creazione del gruppo usando l'opzione -g.
root@localhost:~# groupadd -g 1005 test_users1 root@localhost:~# cat /etc/group | grep 1005 test_users1:x:1005: root@localhost:~#
Se l'ID gruppo è già in uso, riceverai un messaggio di errore.
root@localhost:~# groupadd -g 1005 test_users2 groupadd: GID '1005' already exists root@localhost:~#
Il gruppo Linux aggiunge l'opzione Force Success
Possiamo specificare l'opzione -f o –force per uscire correttamente se il gruppo esiste già.
root@localhost:~# groupadd -f test_users root@localhost:~#
Se stiamo creando un gruppo con l'opzione di successo forzato e l'ID gruppo esiste già, l'ID gruppo viene ignorato e il gruppo viene creato.
root@localhost:~# groupadd -f -g 1005 test_users2 root@localhost:~# cat /etc/group | grep test_users2 test_users2:x:1006: root@localhost:~#
Nota che il gruppo Linux viene creato con un ID gruppo diverso perché abbiamo usato l'opzione -f.
Aiuto per l'aggiunta del gruppo Linux
Se vuoi un aiuto con l'utilizzo del comando groupadd, usa l'opzione -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 -Opzione K
Possiamo usare l'opzione -K per sovrascrivere i valori GID_MIN e GID_MAX presenti nel file /etc/login.defs.
Significa che il nuovo ID gruppo verrà prelevato dall'intervallo fornito utilizzando l'opzione -K. Diamo un'occhiata a un esempio per comprendere chiaramente questa funzionalità.
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:~#
Se guardi i comandi precedenti, gli ID di gruppo assegnati erano vicini a 1000. Ma nel comando groupadd sopra, l'id di gruppo utilizzato è 20000.
Creazione di un gruppo con password
Possiamo usare l'opzione -p per creare un gruppo con password.
root@localhost:~# groupadd -p abc123 test_users_pwd root@localhost:~#
Ma non l'ho mai usato da solo o non ho visto nessuno usarlo. In effetti, la pagina man di gpasswd lo afferma come un problema di sicurezza.
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.'
Creazione di un gruppo di sistema
Possiamo usare l'opzione -r per creare un gruppo di sistema.
Non c'è differenza tra un gruppo normale e un gruppo di sistema. L'unica differenza è l'assegnazione dell'ID gruppo.
Per i gruppi normali, gli ID gruppo vengono assegnati da 1000 a 60000 (valore predefinito). Per un gruppo di sistema, l'ID gruppo è inferiore a 1000.
Anche in questo caso, l'ID gruppo non ha significato o non fornisce privilegi aggiuntivi.
root@localhost:~# groupadd -r system_group root@localhost:~# cat /etc/group | grep system_group system_group:x:999: root@localhost:~#
Si noti che l'ID gruppo assegnato è 999.
Conclusione
Possiamo usare il comando groupadd per aggiungere gruppi in Linux. È un comando molto semplice e comune che può essere utilizzato con qualsiasi distribuzione Linux per creare un gruppo.
Riferimenti:
- Discussione su StackExchange sui casi d'uso delle password di gruppo
- Discussione AskUbuntu sui gruppi di sistema