Il comando groupdel di Linux viene utilizzato per eliminare un gruppo. Questo è un comando molto potente, quindi usalo con attenzione. È un comando Linux comune e puoi usarlo in tutte le distribuzioni Linux come Ubuntu, CentOS, Debian, Fedora, ecc.
Diamo un'occhiata ad alcuni esempi di eliminazione di un gruppo in Linux utilizzando il comando groupdel.
Linux Elimina gruppo senza utenti
Per l'esempio, ho già creato alcuni gruppi e un utente di prova. Diamo un'occhiata al semplice esempio per eliminare un gruppo che non ha utenti.
root@localhost:~# getent group test_users1 test_users1:x:1005: root@localhost:~# root@localhost:~# groupdel test_users1 root@localhost:~# getent group test_users1 root@localhost:~#
Eliminazione di un gruppo con utenti
Ho creato un gruppo test_users
e aggiunto journaldev
utente ad esso. Confermiamolo usando il getent
e id
comandi.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~# root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd) root@localhost:~#
Vediamo cosa succede quando eliminiamo questo gruppo.
root@localhost:~# groupdel test_users root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1007(test_users_pwd) root@localhost:~# getent group test_users root@localhost:~#
Il gruppo viene eliminato e rimosso dall'elenco dei gruppi di utenti.
Possiamo eliminare il gruppo di sistema usando il comando groupdel?
Possiamo rimuovere un gruppo a livello di sistema usando il comando groupdel?
Proviamo a rimuovere sudo
gruppo usando il comando groupdel e guarda cosa succede.
root@localhost:~# groupdel sudo root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),1007(test_users_pwd) root@localhost:~# getent group sudo root@localhost:~#
Sembra che siamo stati in grado di rimuovere il gruppo di utenti "sudo". Vediamo cosa succede ai privilegi di superutente dell'utente.
root@localhost:~# su - journaldev journaldev@localhost:~$ journaldev@localhost:~$ ls /root ls: cannot open directory '/root': Permission denied journaldev@localhost:~$ sudo ls /root [sudo] password for journaldev: journaldev is not in the sudoers file. This incident will be reported. journaldev@localhost:~$
Sembra che anche i privilegi sudo siano stati rimossi, il che è ovvio perché abbiamo rimosso il gruppo "sudo" stesso.
Eliminazione del gruppo principale di un utente
Quando creiamo un nuovo utente, viene creato e assegnato anche un nuovo gruppo con lo stesso nome. Questo è chiamato il gruppo principale dell'utente.
Vediamo se riusciamo a rimuovere il gruppo principale dell'utente?
root@localhost:~# groupdel journaldev groupdel: cannot remove the primary group of user 'journaldev' root@localhost:~#
Diamo un'occhiata all'opzione della guida per vedere se c'è un modo per superare questo messaggio di errore?
root@localhost:~# groupdel -h Usage: groupdel [options] GROUP Options: -h, --help display this help message and exit -R, --root CHROOT_DIR directory to chroot into -f, --force delete group even if it is the primary group of a user root@localhost:~#
L'output afferma chiaramente che possiamo usare l'opzione -f per eliminare il gruppo principale dell'utente.
root@localhost:~# groupdel -f journaldev root@localhost:~# id journaldev uid=1002(journaldev) gid=1003 groups=1003 root@localhost:~#
Siamo stati in grado di rimuovere il gruppo principale dell'utente. Ma "gid=1003" viene ancora visualizzato nelle informazioni sull'utente. Quindi, non capisco quale sia il caso d'uso di questa funzione.
Valori di uscita del comando di gruppo Linux
Se stai usando il comando groupdel in uno script di shell, è meglio conoscere i valori di uscita per verificare se il comando è stato eseguito correttamente o ha ricevuto qualche errore.
Valore di uscita | Descrizione |
0 | successo |
2 | Sintassi del comando non valida |
6 | il gruppo non esiste |
8 | impossibile eliminare il gruppo utente principale |
10 | impossibile aggiornare i file di informazioni sul gruppo |
Conclusione
Il comando groupdel di Linux è molto potente e può anche rimuovere i gruppi di sistema. Se stai usando questo comando per rimuovere un gruppo, presta particolare attenzione perché è irreversibile e può creare gravi problemi se il gruppo ha molti utenti.
Riferimento
- pagina man di Groupdel