Comandi da terminale per la gestione delgi utenti in Linux
$ who # mostra gli utenti collegati al sistema
$ whoami # mostra con che nome si è collegati
Visualizzare la lista degli utenti ( users ) presenti nel sistema
$ cat /etc/passwd | cut -d ':' -f1
Visualizzare la lista dei gruppi ( groups ) presenti nel sistema
$ cat /etc/group | cut -d ':' -f1
$ groups user # mostra a quali gruppi appartiene user
Cambiare user
$ su - etabeta # cambiare user e diventare l'utente etabeta
Aggiunger user
Aggiungere un utente ( user ) in ambiente ubuntu/debian e in fedora/centos
useradd user # aggiungere user in ubuntu debian
adduser user # aggiungere utenti in fedora centos
Esempi per ubuntu/debian
$ useradd newuser
Utilizzare useradd per creare un nuovo utente
$ sudo useradd -gmaurizio -Gsudo -d/home/maurizio -m maurizio $ sudo passwd maurizio
il dettaglio delle opzioni principali di useradd
$ useradd -gusers -Gsudo -pabc321-ecrypted -d/home/david -m david
-g, gruppo primario
-G, gruppi supplementari
-p, password-encrypted
-s, impostare la shell
-d, home directory
-m crea home
per modificare le impostazione dell’utente
usermod -s/bin/bash -p123456-encrypted david ## impostare la shell bash e cambiare password-encrypted all’utente david
Rimozione dell’utente e della sua home ( -r)
$ userdel -r david
Password
per cambiare la password di un utente
$ passwd david
Gruppi
Comandi per la gestione dei gruppi
creare un nuovo gruppo
addgroup nome-gruppo
esempio creare il gruppo admins
$ addgroup admins
Aggiungere uno user esistente ad un gruppo esistente
Cambiare il gruppo principale di uno user
$ usermod -a -G ftp maurizio $ /usr/bin/usermod -a -G adm "maurizio"
$ usermod -g www maurizio
Files gruppi e users
I gruppi sono memorizzati nel file /etc/group che elenca tutti gli users contro ogni gruppo.
Questo il formato del file
$ cat /etc/group root:x:0: daemon:x:1: bin:x:2: adm:x:4:maurizio tty:x:5: disk:x:6: lp:x:7: man:x:12: proxy:x:13: kmem:x:15: ... sudo:x:27:maurizio,mausia audio:x:29:timidity,pulse ...
per elencare gli users di un gruppo si può utilizzare un comando del tipo seguente sotituendo la stringa nome gruppo
$ getent group nome-gruppo # es:sudo $ cat /etc/group | grep --regex "^nome-gruppo:.*" | awk -F: '{print $4}'
oppure senza formattare possiamo usare una vista grezza estraendo dal file /etc/group le righe con il nome-user
$ grep nome-user /etc/group
finger user # mostra alcune informazioni su user
Risorse:
- Gestire gli users in Linux da terminale
- Installare sudo – super user do
- Comandi Linux per gestire gli utenti
- Linux Elenco Comandi Utili
- Linux password di root dimenticata – Debian 9.xx
- Privato: lanciare un comando con sudo in Ubuntu linux senza digitare la password
- Ubuntu 14.xx password dimenticata