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

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 6: Riga 6:
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]].
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]].


== Creazione di un nuovo utente ==
== Gestione utenti ==
 
=== Creazione di un nuovo utente ===
Il comando base per creare un nuovo utente e relativa cartella sotto <code>/home</code> è:
Il comando base per creare un nuovo utente e relativa cartella sotto <code>/home</code> è:
<pre># adduser nomeutente</pre>
<pre># adduser nomeutente</pre>
Riga 35: Riga 37:
Da notare che anche il corrispondente gruppo avrà ''id'' pari a 1099.
Da notare che anche il corrispondente gruppo avrà ''id'' pari a 1099.


== Disabilitare l'account di un utente ==
=== 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>
 
=== (Dis)abilitare un utente ===
==== Disabilitare login locale ====
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># usermod --lock nomeutente</pre>
Questa modalità non impedisce l'autenticazione tramite <code>ssh</code>.<br/>
Per ripristinare la login:
<pre># usermod --unlock nomeutente</pre>
 
==== 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 utente ===
Per cancellare un utente registrato nel sistema senza eliminare anche la relativa home directory:
Per cancellare un utente registrato nel sistema senza eliminare anche la relativa home directory:
<pre># deluser nomeutente</pre>
<pre># deluser nomeutente</pre>
Riga 58: Riga 70:
<pre># deluser --remove-home nomeutente</pre>
<pre># deluser --remove-home nomeutente</pre>


== Modifica della password di un utente ==
=== Modificare password utente ===
Per la modifica da terminale della password di un utente si utilizza il comando <code>passwd</code>. Facciamo login come utente root e diamo il comando:
Per la modifica da terminale della password di un utente si utilizza il comando <code>passwd</code>. Facciamo login come utente root e diamo il comando:
<pre>
<pre>
Riga 65: Riga 77:
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.
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.


== Gruppi di sistema ==
== Gestione gruppi ==
 
La lista di tutti i [[gruppo|gruppi]] di sistema si può ricavare dal file <code>/etc/group</code> :
La lista di tutti i [[gruppo|gruppi]] di sistema si può ricavare dal file <code>/etc/group</code> :
<pre>$ cat /etc/group</pre>
<pre>$ cat /etc/group</pre>


== Gruppi a cui appartiene un utente ==
Per visualizzare i gruppi a cui appartiene l'utente corrente:
Per visualizzare i gruppi a cui appartiene un utente:
<pre>$ groups</pre>
<pre>$ groups</pre>
questo mostra i gruppi a cui appartiene l'utente che esegue il comando.<br/>
Per visualizzare i gruppi a cui appartiene un altro utente:
Per visualizzare i gruppi a cui appartiene un altro utente:
<pre>$ groups nomeutente</pre>
<pre>$ groups nomeutente</pre>
con cui verranno visualizzati i gruppi a cui appartiene "nomeutente".


== Aggiungere o rimuovere un utente da un gruppo ==
=== Rinominare un gruppo ===
Per aggiungere un utente ad un gruppo:
Per cambiare il nome del gruppo <code>nomegruppoold</code> in <code>nomegrupponew</code>
<pre># groupmod -n nomegrupponew nomegruppoold</pre>
 
=== Aggiungere o rimuovere un utente da un gruppo ===
Per aggiungere un utente ad un gruppo esistente:
<pre># adduser nomeutente nomegruppo</pre>
<pre># adduser nomeutente nomegruppo</pre>
Ad esempio il comando:
Ad esempio il comando:
Riga 88: Riga 102:
In entrambi i casi i comandi richiedono i permessi di "root" e sarà necessario eseguire un logout/login per rendere effettivi i cambiamenti.
In entrambi i casi i comandi richiedono i permessi di "root" e sarà necessario eseguire un logout/login per rendere effettivi i cambiamenti.


== Cercare i file che appartengono ad un utente/gruppo ==
==== 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):
<pre># usermod -g pluto pippo</pre>
 
=== 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".<br/>
Questa ricerca, attraverso il comando ''find'', si può eseguire facilmente utilizzando le opzioni "-group" o "-user".<br/>
* '''Gruppo'''<br/>Per avviare una ricerca che parta dalla directory radice:<pre>$ find / -group nomegruppo</pre>Ad esempio con:<pre>$ find / -group bin</pre>si cercheranno, a partire dalla directory radice, tutti i file appartenenti al gruppo "bin".
* '''Gruppo'''<br/>Per avviare una ricerca che parta dalla directory radice:<pre>$ find / -group nomegruppo</pre>Ad esempio con:<pre>$ find / -group bin</pre>si cercheranno, a partire dalla directory radice, tutti i file appartenenti al gruppo "bin".
*'''Utente'''<br/>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]]:<pre>$ find . -user root</pre>
*'''Utente'''<br/>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]]:<pre>$ find . -user root</pre>
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.
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.
{{Autori
|Autore = [[Utente:S3v|S3v]]
|Verificata_da=
:[[Utente:Wtf|Wtf]] 16:10, 5 mag 2024 (CEST)
|Estesa_da =
:[[Utente:Wtf|Wtf]] 16:10, 5 mag 2024 (CEST)
|Numero_revisori=1
}}


[[Categoria:Shell]][[Categoria:Programmi da terminale]]
[[Categoria:Shell]][[Categoria:Programmi da terminale]]

Versione attuale delle 14:57, 5 mag 2024

Guida ai comandi da terminale

Sommario

  1. Gestione utenti e gruppi
  2. Gestione di repository e pacchetti
  3. Operazioni con programmi non presenti nei repository
  4. Gestione di file e directory
  5. Compiere operazioni con sudo
  6. Gestione del sistema
  7. Gestione del File System
  8. Gestione dell'hardware
  9. Varie e approfondimenti

L'utente root

Info.png 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).
Info.png 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 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 Swirl-auth40.png Debianized 40%
Estesa da:
Wtf 16:10, 5 mag 2024 (CEST)
Verificata da:
Wtf 16:10, 5 mag 2024 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized