CodeGym /Corsi /Docker SELF /Verifica dei permessi attuali: comandi `whoami`, `id`

Verifica dei permessi attuali: comandi `whoami`, `id`

Docker SELF
Livello 2 , Lezione 3
Disponibile

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?

  1. UID (User ID) — identificatore univoco dell'utente.
  2. GID (Group ID) — identificatore univoco del gruppo principale dell'utente.
  3. 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

  1. Apri il terminale.
  2. Esegui il comando:

    whoami
    

    Verifica il tuo nome utente.

  3. Esegui il comando sudo su (ti verrà chiesta la password), e poi esegui nuovamente whoami per vedere con quale utente stai lavorando.

Esaminare le informazioni sull'utente

  1. Esegui il comando:

    id
    
    Guarda quale UID, GID ha il tuo utente e a quali gruppi appartiene.
  2. Crea un nuovo utente (se hai accesso al comando sudo):

    sudo adduser testuser
    

    Poi esegui:

    id testuser
    

Analisi dell'appartenenza ai gruppi

  1. Esegui:

    groups
    

    Nota a quali gruppi appartiene il tuo utente.

  2. 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

  1. Molti principianti confondono whoami e id. Ricorda: whoami mostra solo il nome dell'utente corrente, mentre id fornisce informazioni più dettagliate sui permessi e sui gruppi.

  2. 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.

  3. 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.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION