Guida ai comandi da terminale - Gestione utenti e gruppi: differenze tra le versioni

nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Comandi da terminale}}
{{Comandi da terminale}}
== Definizione di root e differenze con il normale utente ==
== L'utente ''root'' ==
Cos’è [[root]]?<br>
{{Box|Definizione|Nei sistemi operativi di tipo Unix si indica tradizionalmente con '''root''' l’utente dotato di massimi privilegi, cioè l’[[privilegi di amministrazione|amministratore di sistema]], detto anche ''superuser'' (''super utente'').}}
Nei sistemi operativi di tipo Unix si indica tradizionalmente con '''root''' l’utente dotato di massimi privilegi, cioè l’[[privilegi di amministrazione|amministratore di sistema]], detto anche super utente o superuser.
{{Box|Promemoria|È convenzione universale premettere ai comandi che non richiedono privilegi di amministrazione il carattere '''$''' e al contrario il carattere '''#''' qualora tali privilegi siano richiesti]].}}


L’utente '''root''', essendo l'unico in GNU/Linux Debian con [[UID]] ('''''U'''ser '''ID''''') uguale a '''0''', può fare tutto ciò che desidera sul sistema: questo può essere sia un vantaggio sia uno svantaggio nello stesso momento. Viene infatti universalmente ritenuto pericoloso compiere le normali sessioni di lavoro in qualità di root: agire come utente normale e come utente root solo per amministrazione del sistema permette di minimizzare il rischio di effettuare operazioni pericolose come cancellare file essenziali per il sistema operativo.
Per maggiori informazioni sull'utente '''root''' e più in generale sapere come acquisire i privilegi di amministrazione fare riferimento a [[privilegi di amministrazione | questa guida]].


[[Root]] secondo le impostazioni di default è abilitato nel sistema, ma se non lo fosse l'unico modo per ottenere i [[privilegi di amministrazione]] sarebbe tramite [[sudo]].<br/>
== Creazione di un nuovo utente ==
 
Il comando base per creare un nuovo utente e relativa cartella sotto <code>/home</code> è:
== Accesso come root ==
<pre># adduser nomeutente</pre>
Con le impostazioni di default, per poter accedere come utente '''root''' nel sistema, ed avere quindi la possibilità di svolgere ogni operazione, basterà digitare da terminale:
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:
<pre>
<pre>
su -
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' ...
</pre>
</pre>
Verrà richiesta la password di root e sarà eseguito l’accesso.<br>
Creare un nuovo utente assegnandoli uno specifico ''id'' (es. 1099):
Noterete che il prompt del terminale è cambiato, passando da:
<pre># adduser --uid 1099 nomeutente</pre>
<pre>
Da notare che anche il corrispondente gruppo avrà ''id'' pari a 1099.
$
</pre>
''(che identifica un utente normale)''<br>
a:
<pre>
#
</pre>
''(che identifica l'utente root)''
 
D'ora in poi il prompt sarà riportato prima dei comandi per indicare se sono eseguiti con [[privilegi di amministrazione]].


Si tenga presente che alcune shell meno diffuse su GNU/Linux, come zsh, possono utilizzare il simbolo '''%''' al posto di '''$''' per indicare un utente senza privilegi. È in genere una convenzione adottata dalle shell utilizzate di default nei sistemi Unix BSD e derivati.
== Rinominare un utente ==
Per rinominare semplicemente l'utente senza modificare anche la relativa cartella:
<pre># usermod -l nomeutentenew nomeutenteold</pre>
Viceversa per rinominare anche la sua directory sotto <code>/home</code>:
<pre># usermod -l nomeutentenew -m -d /home/nomeutentenew nomeutenteold</pre>


== Disconnessione da root ==
== (Dis)abilitare un utente ==
''(per tornare utente con permessi normali sulla stessa finestra di terminale)''<br>
Se siete diventati root in una finestra di terminale, e volete tornare user senza chiudere la finestra o aprirne un’altra, basterà digitare:
<pre>
exit
</pre>
Il comando exit può servire anche per chiudere la finestra del terminale. È possibile anche premere <code>Ctrl-d</code>.


== Creazione di un nuovo utente ==
=== Disabilitare login locale ===
Per creare un nuovo utente da terminale, è sufficiente diventare root, e digitare il comando:
Il seguente comando premette un punto esclamativo <code>!</code> alla password cifrata dell'utente memorizzata in <code>/etc/shadow</code> col risultato di bloccare ogni forma di autenticazione basata su tale file.
<pre>
<pre># usermod --lock nomeutente</pre>
# adduser nomeutente
Questa modalità non impedisce l'autenticazione tramite <code>ssh</code>.
</pre>
Per ripristinare la login:
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.
<pre># usermod --unlock nomeutente</pre>


== Disabilitare l'account di un utente ==
=== Disabilitazione totale ===
Per disabilitare l'account di un utente, impedendone l'acceso, è sufficiente farne scadere la validità con:
Per disabilitare l'account di un utente, impedendone l'acceso, è sufficiente farne scadere la validità con:
<pre>
<pre># usermod --lock --expiredate 1 nomeutente</pre>
# usermod --lock --expiredate 1 nomeutente
</pre>
Dove “nomeutente” deve essere sostituito con il nome dell’utente che si vuole bloccare. Si noti che il valore <code>1</code> è necessario, o in alternativa una data precedente a quella attuale in formato <code>AAAA-MM-GG</code>.
Dove “nomeutente” deve essere sostituito con il nome dell’utente che si vuole bloccare. Si noti che il valore <code>1</code> è necessario, o in alternativa una data precedente a quella attuale in formato <code>AAAA-MM-GG</code>.


Utilizzare <code>--lock</code> senza <code>--expiredate</code> 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]]).
Utilizzare <code>--lock</code> senza <code>--expiredate</code> 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 ==
==== Riattivare un utente totalmente disabilitato ====
Per riattivare l'account di un utente, precedentemente disabilitato, basta non usare nessun argomento con l'opzione <code>expiredate</code>:
Per riattivare l'account di un utente, precedentemente disabilitato, basta non usare nessun argomento con l'opzione <code>expiredate</code>:
<pre>
<pre># usermod --unlock --expiredate "" nomeutente</pre>
# usermod --unlock --expiredate "" nomeutente
</pre>
Dove “nomeutente” è il nome dell’utente che era stato bloccato. Al posto di <code>""</code>, per riabilitare l'account, si può anche inserire in formato <code>AAAA-MM-GG</code> una nuova data di scadenza per l'account.
Dove “nomeutente” è il nome dell’utente che era stato bloccato. Al posto di <code>""</code>, per riabilitare l'account, si può anche inserire in formato <code>AAAA-MM-GG</code> una nuova data di scadenza per l'account.


== Cancellazione di un utente ==
== Cancellazione di un utente ==
Per cancellare un utente registrato nel sistema, aperto il terminale e fatto accesso come utenti root, si digiti:
Per cancellare un utente registrato nel sistema senza eliminare anche la relativa home directory:
<pre>
<pre># deluser nomeutente</pre>
# deluser nomeutente
</pre>
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.
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:
<pre># deluser --remove-home nomeutente</pre>


== Modifica della password di un utente ==
== Modifica della password di un utente ==
3 040

contributi