Cookie

Attenzione


Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.

Come sappiamo Linux è un sistema multiutente, gli utenti possono essere loggati contemporaneamente sulla stessa macchina o da macchine remote e le sessioni utente possono essere teoricamente infinite. Oggi vediamo qualche comando essenziale per la gestione degli utenti in Linux, comandi che restano invariati da anni, mentre le GUI cambiano in continuazione facendoci spesso perdere tempo.

La nuova interfaccia gestione utenti di Ubuntu

La nuova interfaccia gestione utenti di Gnome 3

Tutti i seguenti comandi hanno a che fare con il monitoraggio degli utenti.

Who

Who ci dice quanti e quali utenti sono connessi al sistema (e da quale computer):

joe@joe-NF61S-M2A:~$ who
joe      tty1         2013-02-16 16:57
vale     pts/1        2013-02-26 10:14 (:2)
vale     tty7         2013-02-24 18:11

W

W visualizza gli utenti loggati e i programmi in esecuzione:

joe@joe-NF61S-M2A:~$ w
 10:16:56 up 9 days, 17:20,  3 users,  load average: 1,00, 2,15, 2,44
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
joe      tty1                      16Feb13 14:59m  0.62s  0.60s -bash
vale     pts/1    :2               10:14    0.00s  0.66s  0.62s gnome-terminal
vale     tty7                      Sun18    9days  1:03m  1.15s gnome-session -

Whoami

Whoami restituisce il nome utente che ha lanciato whoami:

joe@joe-NF61S-M2A:~$ whoami
joe

Last

Last mostra gli utenti che si sono connessi in passato:

joe@joe-NF61S-M2A:~$ last
vale     pts/1        :2               Tue Feb 26 10:14   still logged in   
vale     pts/1        :2               Mon Feb 25 19:17 - 10:14  (14:56)    
joe      pts/5        :0               Thu Feb 21 11:46 - 18:10 (3+06:23)   
joe      pts/4        :0               Thu Feb 21 11:41 - 18:10 (3+06:28)   
joe      pts/1        :0               Thu Feb 21 11:03 - 18:10 (3+07:06)   
joe      pts/1        :0               Sat Feb 16 16:58 - 18:42  (01:44)    
joe      tty1                          Sat Feb 16 16:57   still logged in   
joe      tty1                          Sat Feb 16 16:57 - 16:57  (00:00)    
reboot   system boot  3.2.0-37-generic Sat Feb 16 16:57 - 10:18 (9+17:20)   
joe      pts/5        :0               Thu Feb 14 11:09 - crash (2+05:48)   
reboot   system boot  3.2.0-37-lowlate Thu Feb 14 11:08 - 10:18 (11+23:09)  
joe      pts/5        :0               Thu Feb 14 10:38 - 11:06  (00:27)    
joe      pts/3        :0               Thu Feb 14 10:24 - 11:06  (00:41)    
joe      pts/1        :0               Wed Feb 13 10:24 - 11:06 (1+00:42)   
reboot   system boot  3.2.0-37-generic Tue Feb 12 11:46 - 11:07 (1+23:21)   
reboot   system boot  3.2.0-37-generic Tue Feb 12 11:46 - 11:45  (00:00)    
joe      pts/4        :0               Mon Feb  4 15:44 - crash (7+20:01)   
joe      pts/0        :0               Mon Feb  4 15:43 - crash (7+20:02)   
reboot   system boot  3.2.0-37-generic Mon Feb  4 15:43 - 11:45 (7+20:02)   
joe      pts/3        :0               Mon Feb  4 15:06 - 15:34  (00:28)    
joe      pts/0        :0               Sat Feb  2 19:00 - 15:34 (1+20:34)   

wtmp begins Sat Feb  2 19:00:48 2013

Lastb

Lastb (qualora il file /var/log/btmp esistesse) mostra gli ultimi tentativi di login falliti:

joe@joe-NF61S-M2A:~$ lastb

btmp begins Fri Feb  1 07:40:22 2013

Ovviamente differenziare gli utenti non è un processo fine a se stesso, ogni utente è diverso in termini di diritti, ognuno avrà i suoi file all’interno della directory “/home” sui quali avrà pieno accesso e le gerarchie fra utenti (e gruppi) sono definite dai file /etc/passwd, /etc/shadow e /etc/group.

Per quanto riguarda la gestione pratica degli utenti elenco di seguito una breve lista di comandi utili.

Su

Il comando “su” lanciato senza argomenti permette all’utente che lo lancia di loggarsi come amministratore del sistema (“root”), dopo aver inserito la password di amministratore:

joe@joe-NF61S-M2A:~$ su
Password: 
root@joe-NF61S-M2A:/home/joe#

Lanciando lo stesso comando seguito dall’alias di un utente del sistema, ci permetterà di loggarci con quell’utente mantenendo però anche i diritti dell’utente iniziale. Per esempio se lancio il comando dall’account “joe” loggandomi come “vale” avrò i diritti di “joe” e “vale” contemporaneamente.

joe@joe-NF61S-M2A:~$ su vale
Password: 
vale@joe-NF61S-M2A:/home/joe$

Id

Il comando “id” permette di verificare l’identità dell’utente:

joe@joe-NF61S-M2A:~$ id
uid=1000(joe) gid=1000(joe) gruppi=1000(joe),4(adm),24(cdrom),27(sudo),29(audio),30(dip),46(plugdev),109(lpadmin),124(sambashare),1002(jupiter)

Useradd / Adduser

Questi due programmi vanno lanciati dall’amministratore del sistema (utente “root”) e permettono di aggiungere un nuovo utente al sistema.

root@joe-NF61S-M2A:/home/joe# adduser pippo
Aggiunta dell'utente «pippo» ...
Aggiunta del nuovo gruppo «pippo» (1003) ...
Aggiunta del nuovo utente «pippo» (1002) con gruppo «pippo» ...
Creazione della directory home «/home/pippo» ...
Copia dei file da «/etc/skel» ...
Inserire nuova password UNIX: 
Reinserire la nuova password UNIX: 
passwd: password aggiornata correttamente
Modifica delle informazioni relative all'utente pippo
Inserire il nuovo valore o premere INVIO per quello predefinito
	Nome completo []: Pippo
	Stanza n° []: 123
	Numero telefonico di lavoro []: 131231
	Numero telefonico di casa []: 131221
	Altro []: Sono pippo!
Le informazioni sono corrette? [S/n] s

Passwd

Il comando passwd permette di reimpostare la password all’utente che lo lancia. Se lanciato come amministratore sostituirà la password di root, e se lanciato come amministratore seguito dall’alias di un utente del sistema sostituirà la password di quell’utente.

root@joe-NF61S-M2A:/home/joe# passwd pippo
Inserire nuova password UNIX: 
Reinserire la nuova password UNIX: 
passwd: password aggiornata correttamente

Chfn

Il comando chfn sostituisce i dati personali di un utente registrati in precedenza:

root@joe-NF61S-M2A:/home/joe# chfn pippo
Modifica delle informazioni relative all'utente pippo
Inserire il nuovo valore o premere INVIO per quello predefinito
	Nome completo [Pippo]: Pippot
	Stanza n° [123]: 321
	Numero telefonico di lavoro [131231]: 132131
	Numero telefonico di casa [131221]: 122131
	Altro [Sono pippo!]: Non sono pippo!

Usermod

Il comando usermod modifica l’account utente, permette di aggiungere un utente a un gruppo, di impostare una home diversa, di far scadere l’account impostando una data, di disabilitare l’account… e altro ancora. Trovate tutte le informazioni su usermod nella sua pagina di manuale (lanciando “man usermod“).

Userdel

Per eliminare un account utente e relativi file si usa invece userdel. Il comando non restituirà output, quindi di seguito mostro anche parte del file /etc/passwd che continene tutti gli utenti.

root@joe-NF61S-M2A:/home/joe# userdel pippo
root@joe-NF61S-M2A:/home/joe# cat /etc/passwd | grep 1000*
joe:x:1000:1000:joe,,,:/home/joe:/bin/bash
vale:x:1001:1001:Valentina Redaelli,,,:/home/vale:/bin/bash

Come già detto le GUI cambiano e si adeguano di volta in volta al “target” di utenti (per dirla in termini commerciali) e alle loro esigenze. Tutte le GUI Linux sotto il cofano hanno i comandi descritti, che a differenza delle GUI restano invariati da sempre, dall’inizio dello sviluppo di Linux. Sapere questi comandi non è solo un piccolo traguardo personale, ma diventa un valore aggiunto quando è disponibile il collegamento remoto solo tramite terminale. In quel caso non avremmo nessuna GUI a semplificarci la vita, e dovremmo comunque ricorrere alla riga di comando.

Non ti basta?


TheJoe

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.