Home Directory – renderle sicure

La Home Directory, o più semplicemente Home, è la “cartella” in cui sono salvate, su Linux, tutte le impostazioni dell’utente. Bookmarks dei browser, configurazioni del programma di grafica, impostazioni e preferenze di Open Office, Documenti, foto, filmati eccetera.

Unix, e quindi Linux, usa un sistema di permessi molto particolare rispetto a Windows. Forse, ma dipende dal punto di vista ( !! ) meno approfondito, ma sicuramente più efficace.

In Unix/Linux un file (e quindi una cartella) ha solo tre tipi di permessi e sono relativi a tre tipi di utenza.Permessi di scrittura, di lettura e di esecuzione ognuno dei quali relativo al proprietario, al gruppo e a “tutto il mondo” (ogni altro utente o gruppo). La classica vista dei permessi di un file (o cartella) è di questo tipo: -rwxr-xr–

Ogni posizione corrisponde a un permesso, tranne la prima che indica il tipo di entità.

Le prime tre lettere indicano i permessi per l’utente proprietario, le seconde tre per il gruppo proprietario e le ultime per “tutto il mondo”. “r” sta per lettura, “w” per scrittura e “x” per esecuzione.

-rwxr-xr– quindi indicherà che l’utente proprietario potrà leggere, scrivere ed eseguire l’entità (in questo caso il file, essendo in prima posizione un “-“). Il gruppo proprietario potrà invece solo leggere ed eseguire e “tutto il mondo” potrà solo leggere.

Purtroppo (o per fortuna) una Home è spesso di tipo drwxr-xr-x (d = directory), ovvero accessibile a tutti almeno in lettura, e a volte può essere un problema, soprattutto in ambienti condivisi come un’università o un ufficio.

Vediamo quindi come rendere un po’ più sicura la Home.

Innanzi tutto facciamo in modo che solo noi e il gruppo proprietario si possa accedere.

> cd /home/utente
> chmod -R 750 *

A questo punto occorre effettuare una verifica prima di poter procedere con altre modifiche.
Dobbiamo controllare di che gruppo facciamo parte e assicurarci che altri utenti non facciano parte del nostro, per evitare di “tagliarli fuori” involontariamente. Di solito, su computer domestici o di piccoli uffici, ogni utente fa parte di un gruppo che ha lo stesso nome dell’utente, ma è comunque meglio verificare.

> id
uid=1000(demo) gid=1000(demo) gruppi=4(adm), 20(dialout), 24(cdrom), 25(floppy), 29(audio), 30(dip), 44(video), 46(plugdev), 103(syslog), 107(fuse), 109(lpadmin), 114(admin), 117(netdev), 125(sambashare), 1000(demo), 1001(cvs)

Non spaventatevi di tutti quei gruppi, l’importante è la prima riga che ci dice chi siamo noi (utente demo) e qual’è il nostro gruppo primario (demo). uid= user id; gid = group id; i numeri rappresentano invece il “progressivo”. Di norma 0 = root, 1 = daemon, 2 = bin eccetera, mentre dal 1000 (mille) in su sono gli id per gli utenti e i gruppi creati sul sistema.

Abbiamo visto che noi facciamo parte del gruppo demo. Verifichiamo se altri utenti ne fanno parte

> sudo grep demo /etc/group
adm:x:4:demo,mary
dialout:x:20:demo
cdrom:x:24:demo,mary
floppy:x:25:demo
audio:x:29:demo,pulse
dip:x:30:demo
video:x:44:demo
plugdev:x:46:demo
syslog:x:103:demo
fuse:x:107:demo
lpadmin:x:109:demo
admin:x:114:demo
netdev:x:117:mary,demo
demo:x:1000:

Come visto precedentemente ci interessano i gruppi superiori al 1000 e quindi, anche se questo comando ci ha dato molti risultati, noi dobbiamo solo analizzare quelli con un gid > 1000.
In questo caso non ne abbiamo, quindi possiamo passare allo step successivo. Se ne avessimo avuti, avremmo dovuto fare delle scelte che però, data la complessità delle conseguenze, affronteremo in altra sede. SE quindi al vostro gruppo appartengono anche altri utenti, NON proseguite se non sapete cosa state facendo!!

> chown -R demo:demo *

Eseguito anche questo comando, la nostra Home è al riparo dagli sguardi indiscreti di altri utenti (ma ovviamente NON di root o di chi ha permessi sudo).

Nelle prossime lezioni: securizzare il file system, utenti e gruppi, permessi