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 (es. sudo) fare riferimento a questa guida.
Gestione utenti
Creazione di un nuovo utente
Il comando base per creare un nuovo utente e relativa cartella sotto /home
è:
# adduser nomeutente
Dove al posto di “nomeutente”, naturalmente, va scritto il nome dell’utente che volete creare. Saranno richieste la password che si vuole assegnare all’utente più altre piccole informazioni facoltative come Nome Completo, Stanza N° (?!), Numeri telefonici. Esempio di output del precedente comando:
Adding user `nomeutente' ... Adding new group `nomeutente' (1001) ... Adding new user `nomeutente' (1001) with group `nomeutente (1001)' ... Creating home directory `/home/nomeutente' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for nomeutente Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y Adding new user `nomeutente' to supplemental / extra groups `users' ... Adding user `nomeutente' to group `users' ...
Creare un nuovo utente assegnandoli uno specifico id (es. 1099):
# adduser --uid 1099 nomeutente
Da notare che anche il corrispondente gruppo avrà id pari a 1099.
Rinominare un utente
Per rinominare semplicemente l'utente senza modificare anche la relativa cartella:
# usermod -l nomeutentenew nomeutenteold
Viceversa per rinominare anche la sua directory sotto /home
:
# usermod -l nomeutentenew -m -d /home/nomeutentenew nomeutenteold
(Dis)abilitare un utente
Disabilitare login locale
Il seguente comando premette un punto esclamativo !
alla password cifrata dell'utente memorizzata in /etc/shadow
col risultato di bloccare ogni forma di autenticazione basata su tale file.
# usermod --lock nomeutente
Questa modalità non impedisce l'autenticazione tramite ssh
.
Per ripristinare la login:
# usermod --unlock nomeutente
Disabilitazione totale
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 utente totalmente 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 utente
Per cancellare un utente registrato nel sistema senza eliminare anche la relativa home directory:
# 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. Per eliminare contestualmente anche la relativa cartella utente:
# deluser --remove-home nomeutente
Modificare password 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.
Gestione gruppi
La lista di tutti i gruppi di sistema si può ricavare dal file /etc/group
:
$ cat /etc/group
Per visualizzare i gruppi a cui appartiene l'utente corrente:
$ groups
Per visualizzare i gruppi a cui appartiene un altro utente:
$ groups nomeutente
Rinominare un gruppo
Per cambiare il nome del gruppo nomegruppoold
in nomegrupponew
# groupmod -n nomegrupponew nomegruppoold
Aggiungere o rimuovere un utente da un gruppo
Per aggiungere un utente ad un gruppo esistente:
# 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.
Cambiare il gruppo primario di un utente
Per cambiare il gruppo primario dell'utente pippo in pluto (a prescindere da come si chiami quello attuale):
# usermod -g pluto pippo
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.
Guida scritta da: S3v | Debianized 40% |
Estesa da:
| |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |