Guida ai comandi da terminale - Gestione utenti e gruppi
Guida ai comandi da terminale |
Sommario |
L'utente root
Definizione Nei sistemi operativi di tipo Unix si indica tradizionalmente con root l’utente dotato di massimi privilegi, cioè l’amministratore di sistema, detto anche superuser (super utente). |
Promemoria È convenzione universale premettere ai comandi che non richiedono privilegi di amministrazione il carattere $ e al contrario il carattere # qualora tali privilegi siano richiesti]]. |
Per maggiori informazioni sull'utente root e più in generale sapere come acquisire i privilegi di amministrazione fare riferimento a questa guida.
Creazione di un nuovo utente
Per creare un nuovo utente da terminale, è sufficiente diventare root, e digitare il comando:
# adduser nomeutente
Al posto di “nomeutente”, naturalmente, va scritto il nome dell’utente che volete creare. Saranno richieste la password che si vuole assegnare all’utente, e in più altre piccole informazioni facoltative , come Nome Completo, Stanza N° (?!), Numeri telefonici.
Disabilitare l'account di un utente
Per disabilitare l'account di un utente, impedendone l'acceso, è sufficiente farne scadere la validità con:
# usermod --lock --expiredate 1 nomeutente
Dove “nomeutente” deve essere sostituito con il nome dell’utente che si vuole bloccare. Si noti che il valore 1
è necessario, o in alternativa una data precedente a quella attuale in formato AAAA-MM-GG
.
Utilizzare --lock
senza --expiredate
bloccherebbe soltanto la password, ma potrebbe permettere l'accesso, se sono predisposti altri metodi (per esempio via chiavi con SSH o via token con PAM USB).
Riattivare un account disabilitato
Per riattivare l'account di un utente, precedentemente disabilitato, basta non usare nessun argomento con l'opzione expiredate
:
# usermod --unlock --expiredate "" nomeutente
Dove “nomeutente” è il nome dell’utente che era stato bloccato. Al posto di ""
, per riabilitare l'account, si può anche inserire in formato AAAA-MM-GG
una nuova data di scadenza per l'account.
Cancellazione di un utente
Per cancellare un utente registrato nel sistema, aperto il terminale e fatto accesso come utenti root, si digiti:
# deluser nomeutente
Dove “nomeutente” deve essere sostituito con il nome dell’utente che si vuole cancellare. Non sono richiesti altri comandi o informazioni e l’operazione avverrà in meno di un secondo.
Modifica della password di un utente
Per la modifica da terminale della password di un utente si utilizza il comando passwd
. Facciamo login come utente root e diamo il comando:
# passwd nomeutente
mettendo il nome dell’utente a cui vogliamo settare la password al posto di “nomeutente”. Con questo metodo è possibile cambiare non solo le password degli utenti, ma anche quella di root.
Gruppi di sistema
La lista di tutti i gruppi di sistema si può ricavare dal file /etc/group
:
$ cat /etc/group
Gruppi a cui appartiene un utente
Per visualizzare i gruppi a cui appartiene un utente:
$ groups
questo mostra i gruppi a cui appartiene l'utente che esegue il comando.
Per visualizzare i gruppi a cui appartiene un altro utente:
$ groups nomeutente
con cui verranno visualizzati i gruppi a cui appartiene "nomeutente".
Aggiungere o rimuovere un utente da un gruppo
Per aggiungere un utente ad un gruppo:
# adduser nomeutente nomegruppo
Ad esempio il comando:
# adduser pippo floppy
aggiungerà l'utente "pippo" al gruppo "floppy".
Analogamente al comando precedente, per rimuovere un utente da un gruppo:
# deluser nomeutente nomegruppo
In entrambi i casi i comandi richiedono i permessi di "root" e sarà necessario eseguire un logout/login per rendere effettivi i cambiamenti.
Cercare i file che appartengono ad un utente/gruppo
Questa ricerca, attraverso il comando find, si può eseguire facilmente utilizzando le opzioni "-group" o "-user".
- Gruppo
Per avviare una ricerca che parta dalla directory radice:$ find / -group nomegruppo
Ad esempio con:$ find / -group bin
si cercheranno, a partire dalla directory radice, tutti i file appartenenti al gruppo "bin". - Utente
Assolutamente identiche le modalità per un ricerca in base all'utente. Ad esempio, per una ricerca che parta dalla directory corrente e visualizzi tutti i file/directory appartenenti all'utente root:$ find . -user root
Si noti che i comandi potrebbero necessitare di essere eseguiti con i permessi di root affinché la ricerca sia estesa anche a quelle directory normalmente non accessibili ad un normale utente.