Serie RHCSA: Come gestire utenti e gruppi in RHEL 7 – Parte 3

Gestire un server RHEL 7, come nel caso di qualsiasi altro server Linux, richiederà che tu sappia come aggiungere, modificare, sospendere o eliminare account utente e concedere agli utenti le autorizzazioni necessarie per i file, le directory e altre risorse di sistema per svolgere i compiti loro assegnati.

RHCSA: User and Group Management – Part 3

Gestione degli account utente

Per aggiungere un nuovo account utente a un server RHEL 7, puoi eseguire uno qualsiasi dei seguenti due comandi come root:

# adduser [new_account]
# useradd [new_account]

Quando viene aggiunto un nuovo account utente, per impostazione predefinita vengono eseguite le seguenti operazioni.

  1. Viene creata la sua directory home (/home/username a meno che non sia specificato diversamente).
  2. Questi file nascosti .bash_logout, .bash_profile e .bashrc vengono copiati all’interno della directory home dell’utente e verranno utilizzati per fornire le variabili d’ambiente per la sessione utente. Puoi esplorare ciascuno di essi per ulteriori dettagli.
  3. A mail spool directory is created for the added user account.
  4. A group is created with the same name as the new user account.

Il riepilogo completo dell’account è memorizzato nel file /etc/passwd. Questo file contiene un record per account utente di sistema e ha il seguente formato (i campi sono separati da due punti):

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. Questi due campi [username] e [Comment] sono autoesplicativi.
  2. Il secondo campo ‘x’ indica che l’account è protetto da una password ombreggiata (in /etc/shadow), che viene utilizzata per accedere come [username].
  3. I campi [UID] e [GID] sono interi che mostrano l’Identificativo Utente e l’Identificativo del Gruppo primario a cui appartiene [username], rispettivamente.

Infine,

  1. Il [Directory home] mostra la posizione assoluta della directory home di [nome utente], e
  2. [Shell predefinita] è la shell assegnata a questo utente quando accede al sistema.

Un altro file importante con cui devi familiarizzare è /etc/group, dove sono memorizzate le informazioni sui gruppi. Come avviene con /etc/passwd, c’è un record per riga e i campi sono delimitati da due punti:

[Group name]:[Group password]:[GID]:[Group members]

dove,

  1. [Nome gruppo] è il nome del gruppo.
  2. Questo gruppo utilizza una password di gruppo? (Un “x” significa no).
  3. [GID]: come in /etc/passwd.
  4. [Membri gruppo]: un elenco di utenti, separati da virgole, che sono membri di ciascun gruppo.

Dopo aver aggiunto un account, in qualsiasi momento, puoi modificare le informazioni dell’account utente utilizzando usermod, il cui sintassi di base è:

# usermod [options] [username]

Leggi anche:
15 Esempi del comando ‘useradd’
15 Esempi del comando ‘usermod’

ESEMPIO 1: Impostare la data di scadenza per un account

Se lavori per un’azienda che ha una certa politica per abilitare un account per un certo intervallo di tempo, o se desideri concedere l’accesso per un periodo limitato, puoi utilizzare il flag --expiredate seguito da una data nel formato AAAA-MM-GG. Per verificare che la modifica sia stata applicata, puoi confrontare l’output di

# chage -l [username]

prima e dopo l’aggiornamento della data di scadenza dell’account, come mostrato nell’immagine seguente.

Change User Account Information
ESEMPIO 2: Aggiunta dell’utente a gruppi supplementari

Oltre al gruppo principale che viene creato quando viene aggiunto un nuovo account utente al sistema, un utente può essere aggiunto a gruppi supplementari utilizzando le opzioni combinate -aG, o –append –groups, seguite da un elenco separato da virgole di gruppi.

ESEMPIO 3: Modifica della posizione predefinita della directory home dell’utente e/o modifica del suo shell

Se per qualche motivo è necessario modificare la posizione predefinita della directory home dell’utente (diversa da /home/nomeutente), sarà necessario utilizzare le opzioni -d, o –home, seguite dal percorso assoluto della nuova directory home.

Se un utente desidera utilizzare un altro shell diverso da bash (ad esempio, sh), che viene assegnato per impostazione predefinita, utilizza usermod con il flag –shell, seguito dal percorso del nuovo shell.

ESEMPIO 4: Visualizzazione dei gruppi di cui un utente è membro

Dopo aver aggiunto l’utente a un gruppo supplementare, puoi verificare che ora appartiene effettivamente a tali gruppi:

# groups [username]
# id [username]

L’immagine seguente rappresenta Esempi 2 attraverso 4:

Adding User to Supplementary Group

Nell’esempio sopra:

# usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

Per rimuovere un utente da un gruppo, omettere l’interruttore --append nel comando sopra e elencare i gruppi a cui si desidera che l’utente appartenga dopo il flag --groups.

ESEMPIO 5: Disabilitare l’account bloccando la password

Per disabilitare un account, sarà necessario utilizzare sia l’opzione -L (L minuscola) che l’opzione –lock per bloccare la password di un utente. Questo impedirà all’utente di poter effettuare l’accesso.

ESEMPIO 6: Sbloccare la password

Quando è necessario riattivare l’utente in modo che possa accedere nuovamente al server, utilizzare l’opzione -U o l’opzione –unlock per sbloccare la password di un utente che era stato bloccato in precedenza, come spiegato in Esempio 5 sopra.

# usermod --unlock tecmint

L’immagine seguente illustra Esempi 5 e 6:

Lock Unlock User Account
ESEMPIO 7: Eliminare un gruppo o un account utente

Per eliminare un gruppo, si utilizzerà groupdel, mentre per eliminare un account utente si utilizzerà userdel (aggiungere l’interruttore –r se si desidera eliminare anche i contenuti della sua directory home e del mail spool):

# groupdel [group_name]        # Delete a group
# userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

Se ci sono file di proprietà di nome_gruppo, non verranno eliminati, ma il proprietario del gruppo verrà impostato sul GID del gruppo eliminato.

Source:
https://www.tecmint.com/rhcsa-exam-manage-users-and-groups/