Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente: in effetti dal multitasking alla multiutenza o timesharing il passo è tecnicamente molto breve, ma fa sorgere una serie di nuovi problemi dal punto di vista della sicurezza dei sistemi operativi: come distinguere i vari utenti tra loro, come accertarsi che nessun utente possa causare danni agli altri o alla macchina che sta usando. Questi problemi di sicurezza informatica si risolvono assegnando un account univoco per ciascun utente, assegnando un proprietario ai file ed ai programmi e gestendo un sistema di permessi per l’accesso ad essi, e prevedendo una gerarchia di utenti (cioè di account) per cui il sistema rifiuterà tutti i comandi potenzialmente “pericolosi” e li accetterà soltanto se impartiti da un utente in cima alla gerarchia, che è l’amministratore del sistema (generalmente l’account root nei sistemi Unix, Administrator nei sistemi Windows).
User file
Tutti i dati di utenti sono memorizzati in / etc / passwd. Ad esempio, un utente “fred”, che è stato aggiunto come utente del gruppo 200 e 100 è dotato di una voce che potrebbe essere simile a questa:
fred:x:200:100:Fred Smith:/home/fred:/bin/bash
username:password:userID:groupID:realname:homedirectory:shell
L’ID utente (o UID) è un numero unico che differenzia un utente da qualsiasi altro utente. Il gruppo ID (GID) determina la categoria di utenza primario che l’utente è. I gruppi possono essere nominati come “personale”, “studente”, “engineering”, “ricerca”, o qualsiasi altro termine descrittivo che può essere usata per dividere gli utenti in modo significativo.
L’UID e GID sono spesso trasparenti, e vengono assegnati automaticamente in sequenza dal programma di creazione dell’account. Così, l’utente dopo ha aggiunto “Fred” avrà un UID di 201. Alcune distribuzioni di Linux assegnare a tutti gli utenti a un gruppo specifico chiamato “utente”. Altri, come Red Hat, assegna gli utenti ad un proprio gruppo unico, il che significa che l’UID e GID di solito sono identici e per questo a volte, per chi è nuovo di Linux, non è chiaro il motivo per cui questo numero unico si trova ripetuta per ogni utente vengono effettivamente identificatori separati.
Group file
Tutti i dettagli dei gruppi sono memorizzate in / etc / group. Il “group file” elenca tutti i gruppi disponibili. Così, nel nostro esempio precedente, fred apparteneva al gruppo 100 significa che ci dovrà essere una voce corrispondente in un file chiamato / etc / group che dà il nome del gruppo 100. Una voce gruppo può assomigliare a questo:
groupname:password:groupID:users
In genere, solo alcuni dei campi sono usati, per esempio:
users::100:
In questo caso, il gruppo con GID 100 è conosciuto come “utenti”. Chiunque è esplicitamente assegnato ad un gruppo in / etc / passwd non devono essere elencati in / etc / group per quel gruppo stesso. Tuttavia, è possibile utilizzare / etc / group per consentire a un utente di appartenere a più gruppi contemporaneamente. Puoi aggiungere più utenti a un gruppo in / etc / group, separando i loro nomi con una virgola
Creare un nuovo account
Linux fornisce un comando chiamato useradd che automatizza l’intero processo di aggiunta di un nuovo utente che si riferisconoad uno specifico gruppo e password. useradd aggiunge le voci relative al file / etc / passwd, / etc / shadow e / etc / group, e creerà unadirectory con i permessi impostati correttamente. Il programma useradd prenderà anche i file da una cartella / etc / skel e copierà questi nella nuova directory. Quindi, qualsiasi file di apaprtenenza al nuovo utente – come file di login per impostare le variabili d’ambiente – verrà istituito in quella cartella. Naturalmente, se si vuole limitare l’accesso dell’utente sul sistema, quindi non si deve dare loro un accesso shell – ma piuttosto qualcosa come / bin / false – e forse nemmeno una home directory valida. È possibile impostare la directory home in / tmp o qualche altra zona in comune con dati non importanti.
Rimuovere un account
Linux fornisce un comando chiamato userdel che può essere utilizzato per automatizzare i processi di rimozione di un account. Si usa, specificando il nome utente che si desidera rimuovere, e un flag di opzione-r se si desidera rimuovere anche la directory home. Tuttavia, anche dopo questo, ci possono essere ancora altri file nel sistema che appartengono al UID dell’utente appena cancelalto, come e-mail in / var / mail o file temporanei in / tmp. Il comando userdel non rimuove questi o per cercare loro. Individuare questi file e consultarli.