Gestire gli users in Linux da terminale

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:

Lascia un commento