Linux Professional Institute Learning Logo.
Torna al contenuto principale
  • Home
    • Tutte le Risorse
    • LPI Learning Materials
    • Collabora
    • Publishing Partner
    • Diventa un Publishing Partner
    • FAQ
    • Collaboratori
    • Contatto
  • LPI.org
107.1 Lezione 2
Argomento 105: Shell e Script di Shell
105.1 Personalizzare e utilizzare l'ambiente di shell
  • 105.1 Lezione 1
  • 105.1 Lezione 2
  • 105.1 Lezione 3
105.2 Personalizzare o scrivere semplici script
  • 105.2 Lezione 1
  • 105.2 Lezione 2
Argomento 106: Interfacce Utente e Desktop
106.1 Installare e configurare X11
  • 106.1 Lezione 1
106.2 Desktop grafici
  • 106.2 Lezione 1
106.3 Accessibilità
  • 106.3 Lezione 1
Argomento 107: Attività Amministrative
107.1 Gestire account utente e gruppo e file di sistema correlati
  • 107.1 Lezione 1
  • 107.1 Lezione 2
107.2 Automatizzare le attività di amministrazione del sistema attraverso la pianificazione
  • 107.2 Lezione 1
  • 107.2 Lezione 2
107.3 Localizzazione e internazionalizzazione
  • 107.3 Lezione 1
Argomento 108: Servizi Essenziali di Sistema
108.1 Mantenere l'orario di sistema
  • 108.1 Lezione 1
  • 108.1 Lezione 2
108.2 Logging di sistema
  • 108.2 Lezione 1
  • 108.2 Lezione 2
108.3 Concetti base dei Mail Transfer Agent (MTA)
  • 108.3 Lezione 1
108.4 Gestire stampa e stampanti
  • 108.4 Lezione 1
Argomento 109: Fondamenti di Networking
109.1 Fondamenti dei protocolli Internet
  • 109.1 Lezione 1
  • 109.1 Lezione 2
109.2 Configurazione di rete persistente
  • 109.2 Lezione 1
  • 109.2 Lezione 2
109.3 Risoluzione dei problemi di base di una rete
  • 109.3 Lezione 1
  • 109.3 Lezione 2
109.4 Configurare un client DNS
  • 109.4 Lezione 1
Argomento 110: Sicurezza
110.1 Eseguire attività di amministrazione della sicurezza
  • 110.1 Lezione 1
110.2 Configurare la sicurezza dell'host
  • 110.2 Lezione 1
110.3 Proteggere i dati con la crittografia
  • 110.3 Lezione 1
  • 110.3 Lezione 2
How to get certified
  1. Argomento 107: Attività Amministrative
  2. 107.1 Gestire account utente e gruppo e file di sistema correlati
  3. 107.1 Lezione 2

107.1 Lezione 2

Certificazione:

LPIC-1

Versione:

5.0

Argomento:

107 Attività Amministrative

Obiettivo:

107.1 Gestire account utente e gruppo e file di sistema correlati

Lezione:

2 di 2

Introduzione

Gli strumenti a riga di comando discussi nella lezione precedente e le applicazioni grafiche che eseguono gli stessi compiti, fornite da ogni distribuzione, aggiornano una serie di file che memorizzano informazioni su utenti e gruppi.

Questi file si trovano sotto la directory /etc/ e sono:

/etc/passwd

Un file di sette campi delimitati da due punti contenente informazioni di base sugli utenti.

/etc/group

Un file di quattro campi delimitati da due punti contenente informazioni di base sui gruppi.

/etc/shadow

Un file di nove campi delimitati da due punti contenenti password utente criptate.

/etc/gshadow

Un file di quattro campi delimitati da due punti contenenti password di gruppo criptate.

Anche se questi quattro file sono in testo semplice, non dovrebbero essere modificati direttamente, ma sempre attraverso gli strumenti forniti dalla distribuzione che state usando.

/etc/passwd

Questo è un file leggibile da tutti e contiene una lista di utenti, ognuno su una linea separata. Ogni linea consiste di sette campi delimitati da due punti:

Username

Il nome usato quando l’utente accede al sistema.

Password

La password criptata (o una x se si usano le shadow password).

User ID (UID)

Il numero ID assegnato all’utente nel sistema.

Group ID (GID)

Il numero del gruppo primario dell’utente nel sistema.

GECOS

Un campo di commento opzionale, che è usato per aggiungere informazioni extra sull’utente (come il nome completo). Il campo può contenere più voci separate da virgola.

Home Directory

Il percorso assoluto della home directory dell’utente.

Shell

Il percorso assoluto del programma che viene lanciato automaticamente quando l’utente accede al sistema (di solito una shell interattiva come /bin/bash).

/etc/group

Questo è un file leggibile da tuti che contiene una lista di gruppi, ognuno su una linea separata. Ogni linea consiste di quattro campi delimitati da due punti:

Group Name

Il nome del gruppo.

Group Password

La password criptata del gruppo (o una x se si usano le shadow password).

Group ID (GID)

Il numero ID assegnato al gruppo nel sistema.

Member List

Una lista delimitata da virgole di utenti appartenenti al gruppo, eccetto quelli per i quali questo è il gruppo principale.

/etc/shadow

Questo è un file leggibile solo da root e da utenti con privilegi di root che contiene password utente criptate, ciascuna su una linea separata. Ogni linea consiste di nove campi delimitati da due punti:

Username

Il nome usato quando l’utente accede al sistema.

Encrypted Password

La password criptata dell’utente (se il valore inizia con !, l’account è bloccato).

Date of Last Password Change

La data dell’ultimo cambio di password, come numero di giorni dal 01/01/1970 (un valore di 0 significa che l’utente deve cambiare la password al suo prossimo login).

Minimum Password Age

Il numero minimo di giorni, dopo un cambio di password, che devono trascorrere prima che l’utente sia autorizzato a cambiare nuovamente la password.

Maximum Password Age

Il numero massimo di giorni che devono trascorrere prima che sia richiesto un cambio di password.

Password Warning Period

Il numero di giorni, prima che la password scada, durante i quali l’utente viene avvertito che la password deve essere cambiata.

Password Inactivity Period

Il numero di giorni dopo la scadenza della password durante i quali l’utente dovrebbe aggiornare la password. Dopo questo periodo, se l’utente non cambia la password, l’account sarà disabilitato.

Account Expiration Date

La data, espressa come numero di giorni dal 01/01/1970, in cui l’account utente sarà disattivato (un campo vuoto significa che l’account utente non scadrà mai).

A reserved field

Un campo che è riservato per un uso futuro.

/etc/gshadow

Questo è un file leggibile solo da root e da utenti con privilegi di root che contiene password di gruppo criptate, ciascuna su una linea separata. Ogni linea consiste di quattro campi delimitati da due punti:

Group Name

Il nome del gruppo.

Encrypted Password

La password criptata per il gruppo (è usata quando un utente, che non è membro del gruppo, vuole unirsi al gruppo usando il comando newgrp — se la password inizia con !, a nessuno è permesso accedere al gruppo con newgrp).

Group Administrators

Una lista delimitata da virgole degli amministratori del gruppo (possono cambiare la password del gruppo e possono aggiungere o rimuovere membri del gruppo con il comando gpasswd).

Group Members

Una lista delimitata da virgole dei membri del gruppo.

Filtrare i Database delle Password e dei Gruppi

Molto spesso può essere necessario rivedere le informazioni su utenti e gruppi memorizzati in questi quattro file e cercare record specifici. Per eseguire questo compito, puoi usare il comando grep o in alternativa concatenare cat e grep.

# grep emma /etc/passwd
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# cat /etc/group | grep db-admin
db-admin:x:1050:grace,frank

Un altro modo per accedere a questi database è usare il comando getent. In generale, questo comando visualizza le voci dei database supportati dalle librerie Name Service Switch (NSS) e richiede il nome del database e una chiave di ricerca. Se non viene fornito alcun argomento chiave, vengono visualizzate tutte le voci del database specificato (a meno che il database non supporti l’enumerazione). Altrimenti, se vengono forniti uno o più argomenti chiave, il database viene filtrato di conseguenza.

# getent passwd emma
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# getent group db-admin
db-admin:x:1050:grace,frank

Il comando getent non richiede l’autorità di root; devi solo essere in grado di leggere il database da cui vuoi recuperare i record.

Note

Ricorda che getent può solo accedere ai database configurati nel file /etc/nsswitch.conf.

Esercizi Guidati

  1. Osserva il seguente output e rispondi alle seguenti domande:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • Qual è l’ID utente (UID) e l’ID gruppo (GID) di root e catherine?

    • Qual è il nome del gruppo principale di kevin? Ci sono altri membri in questo gruppo?

    • Quale shell è impostata per mail? Che cosa significa?

    • Chi sono i membri del gruppo app-developer? Quali tra questi membri sono amministratori del gruppo e quali sono membri ordinari?

    • Qual è la durata minima della password per catherine? E qual è la durata massima della password?

    • Qual è il periodo di inattività della password per kevin?

  2. Per convenzione, quali ID sono assegnati agli account di sistema e quali agli utenti ordinari?

  3. Come si fa a scoprire se un account utente, che prima era in grado di accedere al sistema, ora è bloccato? Supponiamo che il vostro sistema utilizzi le shadow password.

Esercizi Esplorativi

  1. Crea un account utente chiamato christian usando il comando useradd -m e identifica il suo User ID (UID), Group ID (GID) e la shell.

  2. Identifica il nome del gruppo primario di christian. Che cosa puoi dedurre?

  3. Usando il comando getent, esamina le informazioni sulla scadenza della password per l’account utente christian.

  4. Aggiungi il gruppo editor ai gruppi secondari di christian. Assumi che questo gruppo contenga già emma, dave e frank come membri ordinari. Come puoi verificare che non ci siano amministratori per questo gruppo?

  5. Esegui il comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow e descrivi l’output che ricevi in termini di permessi dei file. Quali di questi quattro file sono "mascherati" per ragioni di sicurezza? Supponiamo che il tuo sistema usi le shadow password.

Sommario

In questa lezione abbiamo imparato:

  • La posizione dei file che memorizzano le informazioni su utenti e gruppi.

  • La gestione delle informazioni su utenti e gruppi memorizzate nei database di password e gruppi.

  • Il recupero delle informazioni dai database di password e gruppi.

I seguenti file e comandi sono stati discussi in questa lezione:

/etc/passwd

Il file contenente informazioni di base sugli utenti.

/etc/group

Il file contenente informazioni di base sui gruppi.

/etc/shadow

Il file contenente le password utente criptate.

/etc/gshadow

Il file contenente le password di gruppo criptate.

getent

Filtra i database delle password e dei gruppi.

Risposte agli Esercizi Guidati

  1. Osservate il seguente output e rispondi alle seguenti domande:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • Qual è l’ID utente (UID) e l’ID gruppo (GID) di root e catherine?

      L’UID e il GID di root sono 0 e 0, mentre l’UID e il GID di catherine sono 1030 e 1025.

    • Qual è il nome del gruppo principale di kevin? Ci sono altri membri in questo gruppo?

      Il nome del gruppo è db-admin. Anche emma e grace sono in questo gruppo.

    • Quale shell è impostata per mail? Che cosa significa?

      mail è un account utente di sistema e la sua shell è /sbin/nologin. Infatti, gli account utente di sistema come mail, ftp, news e daemon sono usati per eseguire compiti amministrativi e quindi il normale login dovrebbe essere impedito per questi account. Questo è il motivo per cui la shell è solitamente impostata su /sbin/nologin o /bin/false.

    • Chi sono i membri del gruppo app-developer? Quali tra questi membri sono amministratori del gruppo e quali sono membri ordinari?

      I membri sono catherine, dave e christian e sono tutti membri ordinari.

    • Qual è la durata minima della password per catherine? E qual è la durata massima della password?

      La durata minima della password è di 20 giorni, mentre quella massima è di 90 giorni.

    • Qual è il periodo di inattività della password per kevin?

      Il periodo di inattività della password è di 2 giorni. Durante questo periodo kevin deve aggiornare la password, altrimenti l’account verrà disabilitato.

  2. Per convenzione, quali ID sono assegnati agli account di sistema e quali agli utenti ordinari?

    Gli account di sistema di solito hanno UID inferiori a 100 o tra 500 e 1000, mentre gli utenti ordinari hanno UID a partire da 1000, anche se alcuni sistemi legacy possono iniziare la numerazione da 500. L’utente root ha UID 0. Ricorda che i valori UID_MIN e UID_MAX in /etc/login.defs definiscono la gamma di UID usati per la creazione degli utenti ordinari. Dal punto di vista di LPI Linux Essentials e LPIC-1, gli account di sistema hanno UID inferiori a 1000 e gli utenti ordinari hanno UID superiori a 1000.

  3. Come si fa a scoprire se un account utente, che prima era in grado di accedere al sistema, ora è bloccato? Supponiamo che il vostro sistema utilizzi le shadow password.

    Quando si usano le password shadow, il secondo campo in /etc/passwd contiene il carattere x per ogni account utente, perché le password utente criptate sono memorizzate in /etc/shadow. In particolare, la password criptata di un account utente è memorizzata nel secondo campo di questo file e, se inizia con un punto esclamativo, l’account è bloccato.

Risposte agli Esercizi Esplorativi

  1. Crea un account utente chiamato christian usando il comando useradd -m e identifica il suo User ID (UID), Group ID (GID) e la shell.

    # useradd -m christian
    # cat /etc/passwd | grep christian
    christian:x:1050:1060::/home/christian:/bin/bash

    L’UID e il GID di christian sono rispettivamente 1050 e 1060 (il terzo e il quarto campo in /etc/passwd). /bin/bash è la shell impostata per questo account utente (il settimo campo in /etc/passwd).

  2. Identifica il nome del gruppo primario di christian. Che cosa puoi dedurre?

    # cat /etc/group | grep 1060
    christian:x:1060:

    Il nome del gruppo primario di christian è christian (il primo campo in /etc/group). Pertanto USERGROUPS_ENAB in /etc/login.defs è impostato su yes in modo che useradd crei di default un gruppo con lo stesso nome dell’account utente.

  3. Usando il comando getent, esamina le informazioni sulla scadenza della password per l’account utente christian.

    # getent shadow christian
    christian:!:18015:0:99999:7:::

    L’account utente christian non ha la password impostata ed è ora bloccato (il secondo campo in /etc/shadow contiene un punto esclamativo). Non c’è un’età minima e massima della password per questo account utente (il quarto e il quinto campo in /etc/shadow sono impostati a 0 e 99999 giorni), mentre il periodo di avviso della password è impostato a 7 giorni (il sesto campo in /etc/shadow). Infine, non c’è un periodo di inattività (il settimo campo in /etc/shadow) e l’account non scade mai (l’ottavo campo in /etc/shadow).

  4. Aggiungi il gruppo editor ai gruppi secondari di christian. Assumi che questo gruppo contenga già emma, dave e frank come membri ordinari. Come puoi verificare che non ci siano amministratori per questo gruppo?

    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank
    # usermod -a -G editor christian
    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank,christian
    # cat /etc/gshadow | grep editor
    editor:!::emma,dave,frank,christian

    Il terzo e il quarto campo in /etc/ghadow contengono amministratori e membri ordinari per il gruppo specificato. Quindi, poiché il terzo campo è vuoto per editor, non ci sono amministratori per questo gruppo (emma, dave, frank e christian sono tutti membri ordinari).

  5. Esegui il comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow e descrivi l’output che ti dà in termini di permessi dei file. Quali di questi quattro file sono "mascherati" per ragioni di sicurezza? Supponiamo che il tuo sistema usi le password shadow.

    # ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow
    -rw-r--r-- 1 root root    853 mag  1 08:00 /etc/group
    -rw-r----- 1 root shadow 1203 mag  1 08:00 /etc/gshadow
    -rw-r--r-- 1 root root   1354 mag  1 08:00 /etc/passwd
    -rw-r----- 1 root shadow 1563 mag  1 08:00 /etc/shadow

    I file /etc/passwd e /etc/group sono leggibili da tutti e sono "mascherati" per ragioni di sicurezza. Quando si usano le password shadow, si può vedere una x nel secondo campo di questi file, perché le password criptate per utenti e gruppi sono memorizzate in /etc/shadow e /etc/gshadow, che sono leggibili solo da root e, su alcuni sistemi, anche dai membri appartenenti al gruppo shadow.

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

Prossima Lezione

107.2 Automatizzare le attività di amministrazione del sistema attraverso la pianificazione (107.2 Lezione 1)

Leggi la prossima Lezione

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

LPI è una organizzazione non-profit.

© 2023 Linux Professional Institute (LPI) è lo standard di certificazione globale e l'organizzazione di supporto alla carriera per i Professionisti Open Source. Con più di 200,000 titolari di Certificazione, è il primo e il più grande ente di Certificazione Open Source e Linux vendor-neutral. LPI ha professionisti certificati in oltre 180 Paesi, offre i suoi Esami in più lingue e ha centinaia di Partner di formazione in tutto il mondo.

La nostra missione è promuovere l'uso dell'Open Source supportando le persone che vi lavorano.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contattaci
  • Privacy & Cookie Policy

Trovato un errore? Per favore scrivi a contattaci.

© 1999–2023 The Linux Professional Institute Inc. Tutti i diritti riservati.