Unix / Linux - Amministrazione utenti

In questo capitolo, discuteremo in dettaglio sull'amministrazione degli utenti in Unix.

Esistono tre tipi di account su un sistema Unix:

Account di root

Questo è anche chiamato superusere avrebbe il controllo completo e illimitato del sistema. Un superutente può eseguire qualsiasi comando senza alcuna restrizione. Questo utente dovrebbe essere considerato un amministratore di sistema.

Account di sistema

Gli account di sistema sono quelli necessari per il funzionamento di componenti specifici del sistema, ad esempio account di posta e sshdconti. Questi account sono generalmente necessari per alcune funzioni specifiche del sistema e qualsiasi modifica ad essi potrebbe influire negativamente sul sistema.

Profili utente

Gli account utente forniscono l'accesso interattivo al sistema per utenti e gruppi di utenti. Gli utenti generici vengono generalmente assegnati a questi account e di solito hanno accesso limitato a file e directory di sistema critici.

Unix supporta un concetto di account di gruppo che raggruppa logicamente un numero di account. Ogni account farebbe parte di un altro account di gruppo. Un gruppo Unix svolge un ruolo importante nella gestione dei permessi dei file e nella gestione dei processi.

Gestione di utenti e gruppi

Sono disponibili quattro file di amministrazione utente principali:

  • /etc/passwd- Mantiene l'account utente e le informazioni sulla password. Questo file contiene la maggior parte delle informazioni sugli account nel sistema Unix.

  • /etc/shadow- Contiene la password crittografata dell'account corrispondente. Non tutti i sistemi supportano questo file.

  • /etc/group - Questo file contiene le informazioni sul gruppo per ogni account.

  • /etc/gshadow - Questo file contiene informazioni sull'account di gruppo protetto.

Controlla tutti i file sopra usando il cat comando.

La tabella seguente elenca i comandi disponibili sulla maggior parte dei sistemi Unix per creare e gestire account e gruppi:

Sr.No. Comando e descrizione
1

useradd

Aggiunge account al sistema

2

usermod

Modifica gli attributi dell'account

3

userdel

Elimina gli account dal sistema

4

groupadd

Aggiunge gruppi al sistema

5

groupmod

Modifica gli attributi del gruppo

6

groupdel

Rimuove i gruppi dal sistema

È possibile utilizzare la Guida della pagina di manuale per controllare la sintassi completa per ogni comando menzionato qui.

Crea un gruppo

Adesso capiremo come creare un gruppo. Per questo, dobbiamo creare gruppi prima di creare qualsiasi account, altrimenti possiamo utilizzare i gruppi esistenti nel nostro sistema. Abbiamo tutti i gruppi elencati in/etc/groups file.

Tutti i gruppi predefiniti sono gruppi specifici dell'account di sistema e non è consigliabile utilizzarli per gli account ordinari. Quindi, la seguente è la sintassi per creare un nuovo account di gruppo:

groupadd [-g gid [-o]] [-r] [-f] groupname

La tabella seguente elenca i parametri:

Sr.No. Opzione e descrizione
1

-g GID

Il valore numerico dell'ID del gruppo

2

-o

Questa opzione permette di aggiungere un gruppo con GID non univoco

3

-r

Questa bandiera istruisce groupadd per aggiungere un account di sistema

4

-f

Questa opzione fa uscire solo con lo stato di successo, se il gruppo specificato esiste già. Con -g, se il GID specificato esiste già, viene scelto un altro GID (univoco)

5

groupname

Nome effettivo del gruppo da creare

Se non si specifica alcun parametro, il sistema utilizza i valori predefiniti.

L'esempio seguente crea un gruppo di sviluppatori con valori predefiniti, che è molto accettabile per la maggior parte degli amministratori.

$ groupadd developers

Modifica un gruppo

Per modificare un gruppo, usa il groupmod sintassi -

$ groupmod -n new_modified_group_name old_group_name

Per modificare il nome del gruppo developers_2 in developer, digita -

$ groupmod -n developer developer_2

Ecco come cambierai il GID finanziario in 545 -

$ groupmod -g 545 developer

Elimina un gruppo

Ora capiremo come eliminare un gruppo. Per eliminare un gruppo esistente, tutto ciò di cui hai bisogno è il filegroupdel command e il group name. Per eliminare il gruppo finanziario, il comando è:

$ groupdel developer

Ciò rimuove solo il gruppo, non i file associati a quel gruppo. I file sono ancora accessibili dai rispettivi proprietari.

Crea un account

Vediamo come creare un nuovo account sul tuo sistema Unix. Di seguito è riportata la sintassi per creare un account utente:

useradd -d homedir -g groupname -m -s shell -u userid accountname

La tabella seguente elenca i parametri:

Sr.No. Opzione e descrizione
1

-d homedir

Specifica la directory home per l'account

2

-g groupname

Specifica un account di gruppo per questo account

3

-m

Crea la directory home se non esiste

4

-s shell

Specifica la shell predefinita per questo account

5

-u userid

Puoi specificare un ID utente per questo account

6

accountname

Nome account effettivo da creare

Se non si specifica alcun parametro, il sistema utilizza i valori predefiniti. Iluseradd il comando modifica il file /etc/passwd, /etc/shadow, e /etc/group file e crea una directory home.

Di seguito è riportato l'esempio che crea un account mcmohd, impostando la sua home directory su /home/mcmohd e il gruppo come developers. A questo utente sarebbe stato assegnato Korn Shell.

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

Prima di emettere il comando precedente, assicurati di avere già il gruppo di sviluppatori creato utilizzando ilgroupadd comando.

Una volta creato un account, puoi impostarne la password utilizzando il passwd comando come segue -

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Quando digiti passwd accountname, ti dà la possibilità di cambiare la password, a condizione che tu sia un superutente. Altrimenti, puoi cambiare solo la tua password usando lo stesso comando ma senza specificare il tuo nome account.

Modifica un account

Il usermodcomando consente di apportare modifiche a un account esistente dalla riga di comando. Utilizza gli stessi argomenti diuseradd comando, più l'argomento -l, che ti permette di cambiare il nome dell'account.

Ad esempio, per modificare il nome dell'account mcmohd per mcmohd20 e per cambiare la directory home di conseguenza, dovrai emettere il seguente comando:

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

Elimina un account

Il userdelpuò essere utilizzato per eliminare un utente esistente. Questo è un comando molto pericoloso se non usato con cautela.

È disponibile un solo argomento o opzione per il comando .r, per rimuovere la directory home dell'account e il file di posta.

Ad esempio, per rimuovere l'account mcmohd20 , immetti il seguente comando:

$ userdel -r mcmohd20

Se vuoi mantenere la directory home per scopi di backup, ometti il ​​file -ropzione. È possibile rimuovere la directory home in base alle esigenze in un secondo momento.