Verifica dei permessi attuali: comandi whoami
, id
1. Chi sono nel sistema? Il comando whoami
Ogni utente di Linux utilizza un account specifico, che ha i propri permessi, limitazioni e appartenenze ai gruppi. In questa lezione imparerai a verificare con quale account stai lavorando, quali permessi hai e a quali gruppi appartieni. Conoscere i parametri dell'utente attuale è importante sia nel lavoro quotidiano che nella risoluzione delle questioni di sicurezza, amministrazione e debug.
Quando lavori in un sistema Linux, è utile sapere quale account stai utilizzando in quel momento. Per esempio, se accidentalmente entri nel sistema come utente privilegiato (root), potresti fare modifiche irreversibili nei file di sistema. Per evitare tali situazioni, esiste il comando whoami
.
Sintassi
whoami
Cosa fa il comando?
Il comando whoami
restituisce il nome dell'utente attuale con cui si sta lavorando nel sistema. Risponde alla domanda fondamentale: "Chi sono?"
Esempio
$ whoami
studente
In questo caso, l'output studente
indica che sei entrato nel sistema come utente chiamato studente
. Se stessi lavorando come utente con permessi elevati (ad esempio, root
), l'output sarebbe il seguente:
$ whoami
root
Perché è importante?
Immagina di utilizzare un comando per eliminare tutti i file in una directory (ad esempio, rm -rf /important_directory
). Come utente normale, il sistema potrebbe limitarti se non hai i permessi appropriati. Tuttavia, come utente root
, il sistema eseguirà il comando senza esitazioni. Il comando whoami
aiuta a non trovarsi in situazioni spiacevoli come queste.
2. Studio dettagliato delle informazioni sull'utente: comando id
Conoscere il proprio nome utente è un bene, ma non è sufficiente per comprendere a fondo i tuoi permessi e privilegi nel sistema. Per informazioni più dettagliate, esiste il comando id
.
Sintassi
id [utente]
Se non viene specificato il nome dell'utente, il comando id
mostrerà informazioni sull'utente corrente. Se specifichi il nome di un altro utente, puoi controllare i dettagli del suo account.
Cosa mostra il comando id
?
- UID (User ID) — identificatore univoco dell'utente.
- GID (Group ID) — identificatore univoco del gruppo principale dell'utente.
- Elenco dei gruppi — tutti i gruppi a cui appartiene l'utente (incluso quello principale).
Esempio
$ id
uid=1001(student) gid=1001(student) gruppi=1001(student),27(sudo),1002(developers)
- UID=1001: Questo è l'identificatore univoco dell'utente corrente (student). Nei sistemi Linux l'UID dell'utente
root
è sempre 0. - GID=1001: Questo è l'identificatore del gruppo principale dell'utente (student).
- Gruppi=1001(student), 27(sudo), 1002(developers): Qui sono elencati i gruppi aggiuntivi a cui appartiene l'utente. Ad esempio, il gruppo
sudo
consente allo studente di eseguire i comandi come utente privilegiato.
Se eseguiamo il comando per un altro utente:
$ id user2
uid=1002(user2) gid=1002(user2) gruppi=1002(user2),1001(developers)
Si vede che l'utente user2
appartiene al gruppo developers
.
3. Utilizzo di UID e GID nel lavoro reale
Ad ogni utente e gruppo vengono assegnati identificatori numerici unici (rispettivamente UID e GID). Giocano un ruolo fondamentale all'interno del sistema, spesso sostituendo i nomi testuali di utenti e gruppi. Perché serve tutto questo?
- Alcuni processi di sistema lavorano direttamente con identificatori numerici per maggiore efficienza.
- I permessi di accesso a file e cartelle sono definiti non dai nomi degli utenti o dei gruppi, ma dai loro UID e GID.
- Nei file di configurazione e nei log (ad esempio,
/etc/passwd
) potresti trovare UID al posto dei nomi degli utenti.
4. Esploriamo i gruppi con groups
In più, puoi usare il comando groups
per scoprire a quali gruppi appartiene l'utente corrente.
Sintassi
groups [utente]
Se ometti il nome dell'utente, otterrai un elenco dei gruppi per l'account attuale. Indicando un nome utente, scoprirai i gruppi associati a quell'utente.
Esempio:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Lavorare con i comandi
E ora un po' di pratica per consolidare le conoscenze acquisite.
Controllo dell'account attuale
- Apri il terminale.
Esegui il comando:
whoami
Verifica il tuo nome utente.
- Esegui il comando
sudo su
(ti verrà chiesta la password), e poi esegui nuovamentewhoami
per vedere con quale utente stai lavorando.
Esaminare le informazioni sull'utente
Esegui il comando:
Guarda quale UID, GID ha il tuo utente e a quali gruppi appartiene.id
Crea un nuovo utente (se hai accesso al comando
sudo
):sudo adduser testuser
Poi esegui:
id testuser
Analisi dell'appartenenza ai gruppi
Esegui:
groups
Nota a quali gruppi appartiene il tuo utente.
Aggiungi l'utente corrente a un nuovo gruppo:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)
Verifica il risultato:
groups
6. Errori tipici e momenti insidiosi
Molti principianti confondono
whoami
eid
. Ricorda:whoami
mostra solo il nome dell'utente corrente, mentreid
fornisce informazioni più dettagliate sui permessi e sui gruppi.Se non hai privilegi da amministratore (accesso a
sudo
), potrebbe non essere possibile aggiungere utenti ai gruppi o modificare i loro parametri. In questi casi, dovresti contattare l'amministratore del sistema.Il comando
id
con il nome di un utente inesistente restituirà un errore:$ id nonexistinguser id: ‘nonexistinguser’: utente inesistente
Ora sai come verificare quale utente è attualmente attivo, con quali permessi e accesso sta lavorando. I comandi whoami
e id
sembrano semplici, ma giocano un ruolo chiave nella comprensione del sistema di utenti e permessi in Linux. Nella pratica reale li userai spesso per diagnosticare i problemi, controllare i permessi e configurare gli utenti.
GO TO FULL VERSION