Ricerca nel sito web

Serie RHCSA: come gestire utenti e gruppi in RHEL 7 - Parte 3


Per gestire un server RHEL 7, come nel caso di qualsiasi altro server Linux, sarà necessario sapere come aggiungere, modificare, sospendere o eliminare gli account utente e concedere agli utenti le autorizzazioni necessarie per i file , directory e altre risorse di sistema per eseguire le attività assegnate.

Gestione degli account utente

Per aggiungere un nuovo account utente a un server RHEL 7, è possibile eseguire uno dei due comandi seguenti 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/nomeutente se non diversamente specificato).
  2. Questi file nascosti .bash_logout, .bash_profile e .bashrc vengono copiati nella directory home dell'utente e verranno utilizzati per fornire variabili di ambiente per il suo /la sua sessione utente. Puoi esplorare ciascuno di essi per ulteriori dettagli.
  3. Viene creata una directory di spooling di posta per l'account utente aggiunto.
  4. Viene creato un gruppo con lo stesso nome del nuovo account utente.

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 [nome utente] e [Commento] sono autoesplicativi.
  2. La seconda "x" indica che l'account è protetto da una password nascosta (in /etc/shadow), che viene utilizzata per accedere come [nome utente].
  3. I campi [UID] e [GID] sono numeri interi che mostrano l'IDentification dell'utente e l'IDentification del gruppo primario a cui appartiene [username], in parti uguali .

Finalmente,

  1. La [Directory home] mostra la posizione assoluta della directory home di [nomeutente] e
  2. [Shell predefinita] è la shell che viene affidata a questo utente quando accede al sistema.

Un altro file importante con cui devi acquisire familiarità è /etc/group, dove sono memorizzate le informazioni sul gruppo. Come nel caso di /etc/passwd, c'è un record per riga e anche i suoi 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? (Una “x” significa no).
  3. [GID]: come in /etc/passwd.
  4. [Membri del 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 dell'utente utilizzando usermod, la cui sintassi di base è:

usermod [options] [username]

Leggi anche:
15 esempi di comandi "useradd"
15 esempi di comandi "usermod".

ESEMPIO 1: Impostazione della data di scadenza per un account

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

chage -l [username]

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

ESEMPIO 2: Aggiunta dell'utente a gruppi supplementari

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

ESEMPIO 3: Modifica della posizione predefinita della directory home dell'utente e/o modifica della sua shell

Se per qualche motivo hai bisogno di cambiare la posizione predefinita della directory home dell'utente (diversa da /home/nomeutente), dovrai utilizzare -d o –home, seguite dal percorso assoluto della nuova directory home.

Se un utente desidera utilizzare un'altra shell diversa da bash (ad esempio, sh), che viene assegnata per impostazione predefinita, utilizza usermod con –shell flag, seguito dal percorso della nuova shell.

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

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

groups [username]
id [username]

L'immagine seguente mostra gli esempi da 2 a 4:

Nell'esempio sopra:

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

Per rimuovere un utente da un gruppo, ometti l'opzione --append nel comando precedente ed elenca i gruppi a cui vuoi che l'utente appartenga seguendo il flag --groups.

ESEMPIO 5: Disabilitazione dell'account bloccando la password

Per disattivare un account, dovrai utilizzare l'opzione -L (L minuscola) o –lock per bloccare la password di un utente. Ciò impedirà all'utente di accedere.

ESEMPIO 6: Sblocco della password

Quando è necessario riabilitare l'utente in modo che possa accedere nuovamente al server, utilizzare l'opzione -U o –unlock per sbloccare la password dell'utente che era precedentemente bloccato, come spiegato nell'Esempio 5 sopra.

usermod --unlock tecmint

L'immagine seguente illustra gli Esempi 5 e 6:

ESEMPIO 7: Eliminazione di un gruppo o di un account utente

Per eliminare un gruppo, dovrai utilizzare groupdel, mentre per eliminare un account utente utilizzerai userdel (aggiungi l'opzione –r se vuoi eliminare anche il contenuto della sua directory home e dello spool di posta):

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 sono presenti file di proprietà di group_name, questi non verranno eliminati, ma il proprietario del gruppo verrà impostato sul GID del gruppo che è stato eliminato.