LFCA: Impara la gestione degli account utente – Parte 5

Come amministratore di sistema Linux, sarai incaricato di garantire il regolare svolgimento di tutte le operazioni IT nella tua organizzazione. Dato che alcune operazioni IT sono interconnesse, un amministratore di sistema di solito ricopre diversi ruoli, tra cui amministratore di database o di rete.

Questo articolo è Parte 5 della serie LFCA; qui in questa parte, ti familiarizzerai con i comandi generali di amministrazione di sistema per creare e gestire utenti in un sistema Linux.

Gestione degli account utente in Linux

Una delle responsabilità principali di un amministratore di sistema Linux è creare e gestire utenti in un sistema Linux. Ogni account utente ha 2 identificatori unici: il nome utente e l’ID utente (UID).

Essenzialmente, ci sono 3 categorie principali di utenti in Linux:

Utente root

L’utente root è l’utente più potente in un sistema Linux e di solito viene creato durante il processo di installazione. L’utente root ha poteri assoluti nel sistema Linux o in qualsiasi altro sistema operativo simile a UNIX. L’utente può accedere a tutti i comandi, file e directory e modificare il sistema a proprio piacimento.

L’utente root può aggiornare il sistema, installare e disinstallare pacchetti, aggiungere o rimuovere altri utenti, concedere o revocare autorizzazioni e eseguire qualsiasi attività di amministrazione di sistema senza alcuna restrizione.

L’utente root può praticamente fare tutto sul sistema. L’assunzione da parte dei sistemi Linux e simili a UNIX è che tu sappia perfettamente cosa stai facendo con il sistema. Detto questo, l’utente root può facilmente danneggiare il sistema. Basta eseguire un comando fatale, e il sistema sarà ridotto in cenere.

Per questo motivo, eseguire comandi come utente root è fortemente sconsigliato. Invece, la buona prassi richiede che tu debba configurare un utente sudo. Cioè concedere privilegi sudo a un utente normale per eseguire determinate attività amministrative e limitare alcune attività solo all’utente root.

Utente Normale

A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.

A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.

Account di Servizio

Questo è un account non di accesso che viene creato quando viene installato un pacchetto software. Tali account sono utilizzati dai servizi per eseguire processi nel sistema. Non sono progettati o destinati a svolgere attività di routine o amministrative nel sistema.

File di Gestione degli Utenti

Le informazioni sugli utenti in un sistema Linux sono memorizzate nei seguenti file:

  • Il file /etc/passwd
  • Il file /etc/group
  • Il file /etc/gshadow
  • Il file /etc/shadow

Capiremo ogni file e cosa fa:

Il File /etc/passwd

Il file /etc/passwd contiene molte informazioni sugli utenti che sono contenute in vari campi. Per visualizzare il contenuto del file, utilizza semplicemente il comando cat come mostrato.

$ cat /etc/passwd

Ecco un estratto dell’output.

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

Concentriamoci sulla prima riga e approfondiamo i vari campi. Partendo da sinistra, abbiamo quanto segue:

  • Il nome utente: Questo è il nome dell’utente, in questo caso, tecmint.
  • La password: La seconda colonna rappresenta la password criptata dell’utente. La password non viene stampata in testo normale, invece, viene utilizzato un segnaposto con un segno x.
  • L’UID: Questo è l’ID utente. È un identificatore unico per ogni utente.
  • L’GID: Questo è l’ID del gruppo.
  • A brief description or summary of the user.
  • Questo è il percorso della directory home dell’utente. Per l’utente tecmint, abbiamo /home/tecmint.
  • Questa è la shell di accesso. Per gli utenti di accesso regolari, di solito è rappresentata come /bin/bash. Per gli account di servizio come SSH o MySQL, di solito è rappresentata come /bin/false.

Il file /etc/group

Questo file contiene informazioni sulle gruppi degli utenti. Quando viene creato un utente, lo shell automaticamente crea un gruppo che corrisponde al nome utente dell’utente. Questo è noto come il gruppo primario. L’utente viene aggiunto al gruppo primario al momento della creazione.

Ad esempio, se crei un utente chiamato bob, il sistema crea automaticamente un gruppo chiamato bob e aggiunge l’utente bob al gruppo.

$ cat /etc/group

tecmint:x:1002:

Il file /etc/group ha 3 colonne. Da sinistra verso destra, abbiamo:

  • Nome del gruppo. Ogni nome del gruppo deve essere unico.
  • Password del gruppo. Di solito rappresentata da un segnaposto x.
  • ID del gruppo (GID)
  • Membri del gruppo. Questi sono i membri che appartengono al gruppo. Questa campo rimane vuoto se l’utente è l’unico membro nel gruppo.

NOTA: Un utente può essere membro di più gruppi. Allo stesso modo, un gruppo può avere più membri.

Per confermare i gruppi a cui appartiene un utente, esegui il comando:

$ groups username

Ad esempio, per verificare i gruppi a cui appartiene l’utente tecmint, esegui il comando:

$ groups tecmint

L’output conferma che l’utente appartiene a due gruppi: tecmint e sudo.

tecmint : tecmint sudo

Il file /etc/gshadow

Questo file contiene password criptate o ‘shadowate‘ per gli account dei gruppi e, per motivi di sicurezza, non può essere accessibile da utenti regolari. È solo leggibile dal utente root e utenti con privilegi sudo.

$ sudo cat /etc/gshadow

tecmint:!::

Da sinistra verso destra, il file contiene i seguenti campi:

  • Nome del gruppo
  • Password del gruppo criptata
  • Amministratore del gruppo
  • Membri del gruppo

Il file /etc/shadow

Il file /etc/shadow memorizza le password effettive degli utenti in un formato crittografato. Di nuovo, i campi sono separati dai due punti e seguono il formato mostrato.

$ sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

Il file ha 9 campi. Partendo da sinistra abbiamo:

  • Il nome utente: Questo è il nome di accesso.
  • La password dell’utente. Questa viene presentata in un formato crittografato.
  • Ultimo cambiamento della password. Questa è la data in cui la password è stata cambiata e viene calcolata dalla data di inizio dell’epoca. L’epoca è il 1° gennaio 1970.
  • Età minima della password. Questo è il numero minimo di giorni che devono trascorrere prima che una password possa essere impostata.
  • Età massima della password. Questo è il numero massimo di giorni dopo i quali una password deve essere cambiata.
  • Periodo di avviso. Come suggerisce il nome, questo è il numero di giorni poco prima che una password scada che un utente viene avvisato della prossima scadenza della password.
  • Periodo di inattività. Il numero di giorni dopo la scadenza di una password in cui un account utente viene disabilitato senza che l’utente cambi la password.
  • Data di scadenza. La data in cui scade l’account utente.
  • Campo riservato. – Questo viene lasciato vuoto.

Come Aggiungere Utenti in un Sistema Linux

Per le distribuzioni Debian e Ubuntu, l’utilità adduser è utilizzata per aggiungere utenti.

La sintassi è piuttosto semplice e diretta.

# adduser username

Ad esempio, per aggiungere un utente chiamato bob, esegui il comando

# adduser bob

Dall’output, un utente chiamato ‘bob‘ viene creato e aggiunto a un gruppo appena creato chiamato ‘bob‘. Inoltre, il sistema crea anche una directory home e vi copia i file di configurazione.

In seguito, ti verrà chiesto la password del nuovo utente e poi confermarla. La shell ti chiederà anche il nome completo dell’utente e altre informazioni facoltative come il numero della stanza e il telefono di lavoro. Queste informazioni non sono realmente necessarie, quindi è sicuro saltarle. Infine, premi ‘Y’ per confermare che le informazioni fornite siano corrette.

Add User in Ubuntu

Per i sistemi basati su RHEL & CentOS, utilizzare il comando useradd.

# useradd bob

Successivamente, impostare la password per l’utente utilizzando il comando passwd come segue.

# passwd bob
Add User in CentOS

Come Eliminare gli Utenti in un Sistema Linux

Per eliminare un utente dal sistema, è consigliabile prima bloccare l’utente dal login al sistema come mostrato.

# passwd -l bob

Se desideri, puoi eseguire il backup dei file dell’utente utilizzando il comando tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

Infine, per eliminare l’utente insieme alla directory home, utilizza il comando deluser nel seguente modo:

# deluser --remove-home bob
Delete User in Linux

Inoltre, puoi utilizzare il comando userdel come mostrato.

# userdel -r bob

I due comandi eliminano completamente l’utente insieme alle rispettive directory home.

Conclusione

Questo è stato un’anteprima dei comandi di gestione degli utenti che saranno utili soprattutto quando si gestiscono gli account utente nel tuo ambiente di ufficio. Prova ad utilizzarli di tanto in tanto per affinare le tue competenze di amministrazione di sistema.

Source:
https://www.tecmint.com/linux-user-account-management/