Ciao, e benvenuto nell'ottava puntata della sedicesima stagione. Finora abbiamo parlato di file, strumenti e condutture. Oggi affrontiamo un aspetto diverso ma essenziale, soprattutto per chi gestisce server: la sicurezza e il controllo di chi può fare cosa. Perché Linux non è nato come un sistema per una persona sola, ma per tante persone che condividono la stessa macchina. E questo ha portato a un modello preciso di permessi e proprietà, che è fondamentale capire per lavorare con i server senza combinare guai. Oggi lo esploriamo.
Partiamo dall'origine di tutto, che spiega il resto: Linux, e il mondo da cui proviene, è nato pensando a più utenti sulla stessa macchina. Nei primi tempi dell'informatica, un computer era una risorsa costosa e rara, condivisa da molte persone contemporaneamente, ciascuna con i propri file e il proprio lavoro. Serviva quindi un modo per tenere separate le cose di ciascuno, perché la persona A non potesse curiosare o rovinare i file della persona B. Questa esigenza di convivenza ordinata tra più utenti è scolpita nel dna di Linux, e resta valida oggi, soprattutto sui server, dove spesso più persone e più programmi condividono la stessa macchina.
Da questa esigenza nasce il primo concetto: ogni file ha un proprietario. Ogni singolo file nel sistema appartiene a qualcuno, a un utente preciso che ne è il padrone. È come dire che ogni oggetto in una casa condivisa ha un'etichetta con il nome di chi lo possiede. Questo proprietario ha dei diritti speciali sul proprio file, che gli altri non hanno automaticamente. La proprietà è il fondamento del controllo: sapere di chi è ogni cosa è il primo passo per decidere chi può farci cosa. Ogni file, quindi, porta con sé l'informazione di chi è il suo padrone.
Sul secondo concetto, i permessi, vale la pena soffermarsi, perché è il cuore del modello. Per ogni file, Linux tiene traccia di chi può fare cosa, e distingue tre tipi di azioni possibili. La prima è leggere il file, cioè guardarne il contenuto. La seconda è modificarlo, cioè cambiarne il contenuto o cancellarlo. La terza, per i programmi, è eseguirlo, cioè farlo girare. E per ciascuna di queste azioni, il sistema stabilisce chi ha il permesso di compierla. Così, per ogni file, è definito con precisione chi può leggerlo, chi può modificarlo, chi può eseguirlo. È un controllo fine e granulare su ogni singola cosa.
Vediamo a chi si applicano questi permessi, perché la struttura è semplice e sensata. Linux distingue, per ogni file, tre categorie di persone. C'è il proprietario del file, il suo padrone. C'è un gruppo, cioè un insieme di utenti che condividono certi diritti, utile quando più persone lavorano insieme su cose comuni. E ci sono tutti gli altri, il resto del mondo. Per ognuna di queste tre categorie, il file stabilisce cosa può fare: magari il proprietario può leggere e modificare, il gruppo può solo leggere, e tutti gli altri non possono nemmeno guardare. Con questa griglia semplice, tre categorie per tre azioni, si controlla con precisione l'accesso a ogni cosa.
Voglio farti capire perché questo modello sia così importante per chi gestisce server, perché tocca la sicurezza reale. Su un server, questo controllo dei permessi è ciò che protegge le cose delicate. Ricordi, dalla stagione su Kubernetes, i segreti come le password? Ecco, i permessi sono uno dei modi in cui si tengono al sicuro: si fa in modo che solo chi deve possa leggerli, e nessun altro. I permessi impediscono che un programma o un utente possano toccare cose che non li riguardano, limitando i danni possibili. Capire i permessi non è un tecnicismo noioso: è capire come si protegge un sistema, come si tiene ciascuno nel suo recinto, come si evita che un errore o un intruso possano fare danni ovunque.
C'è poi una figura speciale che devo presentarti, potente e pericolosa: il superutente. Accanto agli utenti normali, ognuno con i suoi permessi limitati, esiste un utente speciale e onnipotente, che ha il permesso di fare tutto, su qualsiasi file, senza restrizioni. È il padrone assoluto della macchina, colui che può cambiare qualunque cosa, comprese le regole stesse dei permessi. Questo potere assoluto è necessario per amministrare il sistema, ma è anche estremamente pericoloso: con quei poteri, un solo comando sbagliato può distruggere l'intero sistema, senza rete di protezione. Per questo la saggezza vuole che si usino quei poteri solo quando serve davvero, con la massima attenzione. È il classico grande potere che comporta grande responsabilità.
Per oggi ci fermiamo qui. Linux è nato per più utenti sulla stessa macchina, e da lì viene il suo modello di permessi e proprietà. Ogni file ha un proprietario, e per ogni file è stabilito chi può leggerlo, modificarlo o eseguirlo, distinguendo tre categorie: il proprietario, un gruppo, e tutti gli altri. Questo controllo fine è ciò che protegge le cose delicate sui server, come i segreti, tenendo ciascuno nel suo recinto e limitando i danni. Esiste poi il superutente, onnipotente e quindi pericoloso, da usare con estrema attenzione. Nella prossima puntata vediamo i programmi in esecuzione: i processi. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.