• Non ci sono risultati.

Gestione degli utenti in Linux

Nel documento DI FUSCO FRANCESCO (pagine 119-123)

Ogni utente che ha accesso ad un sistema Linux ha bisogno di un proprio account, cioè un nome di login e di una password. Ogni utente deve appartenere ad un gruppo primario e per sicurezza o scopi di accesso può appartenere a parecchi gruppi secondari. Raramente è una buona idea avere parecchie persone che

condividono lo stesso account. Non è solo problema di sicurezza, ma gli account sono usati per identificare in maniera univoca gli utenti del sistema. Bisogna poter mantenere traccia di chi sta facendo cosa.

Che cos'è un account ?

Quando un computer viene usato da molte persone è di solito necessario

differenziare tra gli utenti, ad esempio in modo che i loro file privati possano essere mantenuti tali. E' importante anche se il computer può essere usato da una persona alla volta, come con la maggior parte dei personal computer; quindi a ciascun utente viene dato un nome univoco e quello è il nome che viene usato per fare il login.

Un utente non ha solo un nome, ma un account, che comprende tutti i file, le risorse e le informazioni che gli appartengono. Il termine ricorda le banche e in un sistema commerciale un account di solito corrisponde a del denaro, che svanisce a velocità diverse a seconda di quanto l'utente usa il sistema. Ad esempio lo spazio disco può avere un prezzo per megabyte o a giorno, ed il tempo CPU può avere un prezzo per secondo.

Concetti di gestione degli utenti

Il Kernel di Linux tratta gli utenti come semplici numeri: ciascun utente viene identificato da un numero intero univoco, l'identificativo utente o uid (user id), perché per un computer è più facile e veloce usare questi piuttosto che i nomi testuali. Un archivio separato fuori del kernel assegna un nome testuale, lo username, a ciascun identificativo utente, e contiene anche altre

informazioni.

Il sistema tiene traccia di un certo numero di informazioni su ogni utente. Il database degli utenti principali in un sistema Unix è il file di testo

/etc/passwd (chiamato file delle password), che elenca tutti i nomi utente

validi e le informazioni ad essi associate. Il file ha una riga per ciascun nome utente e viene divisa in sette campi delimitati da due punti. Li possiamo

1.

Username: lo username è un identificativo unico assegnato dal sistema ad ogni utente;

2.

Password in forma criptata: il sistema memorizza la password criptata dell'utente;

3.

User ID: Id numerico dell'utente, o UID, è un numero unico assegnato dal sistema ad ogni utente;

4.

Group ID: Id numerico del gruppo, o GID, è l'ID del gruppo di default dell'utente;

5.

Nome completo o altra descrizione dell'account. Il nome reale dell'utente viene salvato assieme al nome utente.

6.

Home directory: la home directory è la directory in cui l'utente viene posizionato inizialmente dopo il login. Ogni utente dovrebbe avere la propria home directory, di solito posizionata sotto /home.

7.

Shell di login: (interprete dei comandi da avviare in fase di login). La shell di login è la shell che viene avviata dopo il login. Esempi sono

/bin/bash e /bin/tcsh.

Qualsiasi utente sul sistema può leggere il file delle password in modo da poter, ad esempio, trovare il nome di un altro utente: ciò significa che anche la password (il secondo campo) è disponibile per tutti. IL file delle password contiene la password in forma criptata, quindi n teoria non ci sono problemi; comunque la criptazione può essere decodificata, specialmente se le password sono deboli (brevi o che si trovano nel dizionario); non è quindi una buona idea tenere le password nel file delle password.

Molti sistemi Linux hanno le shadow password: un modo alternativo per tenere le password che vengono immagazzinate criptate in un file separato, /etc/shadow, leggibile solo da root. Il file /etc/passwd contiene solo un indicatore speciale nel secondo campo.

Il file /etc/passwd contiene le informazioni sugli utenti.

Ogni riga del file contiene informazioni su un singolo utente: il formato di ogni riga è:

username:encrypted password:UID:GIU:full name:home directory:login shell

Allo scopo di creare nuovi login, modificare o cancellare utenti, bisogna avere già eseguito il login come root. I login di root è il livello più alto e solo

certi individui dovrebbero avere accesso all'account di root.

Aggiungere un nuovo utente.

Per poter aggiungere un nuovo utente facciamo uso del comando useradd. useradd

Opzioni:

-d home directory

-s la shell utilizzata dall'utente (shell)

-p password

-g (gruppo primario assegnato all'utente)

-G (altri gruppi al quale l'utente appartiene)

-m (Crea la home directory dell'utente) Esempio: aggiungere un nuovo utente con

users come gruppo primario

un secondo gruppo mgmt

shell iniziale /bin/bash

password xxxx

nome di login roger

home directory roger

crea home directory

nome di login name roger

useradd -gusers -Gmgmt -s/bin/shell -pxxxx -d/home/roger -m roger

Modificare un utente esistente

Per poter modificare un utente già esistente facciamo uso del comando usermod.

usermod

Opzioni:

-d home directory

-s shell iniziale /bin/bash

-p password

-g (gruppo primario assegnato all'utente)

-G (altri gruppi al quale l'utente appartiene)

Esempio: Aggiungere il gruppo 'others' all'utente roger

usermod -Gothers roger

Cancellare un utente esistente

userdel

Opzioni:

-r (rimuove la home directory)

Esempio: Per rimuovere l'utente 'roger' e la sua home directory

userdel -r roger

Modificare la password di un utente già esistente

Per modificare la password di un utente già esistente facciamo uso del comando passwd

passwd Opzioni:

nome utente (Solo se si è root e si vuole cambiare la password di un altro utente)

Esempio: Per cambiare la password per l'account con il quale siete

correntemente entrati, scriviamo solo passwd, ci viene richiesta la password

già esistente, e la nuova password. Per validare la password inserita ci viene chiesto di inserirla nuovamente

passwd

Enter existing password Enter new password

Enter new password again (per validarla)

Esempio: Per modificare la password dell'utente roger (solo se si è loggati come root)

passwd roger

Enter existing password (può essere sia la password dell'utente roger che la password di root)

Enter new password

Nel documento DI FUSCO FRANCESCO (pagine 119-123)

Documenti correlati