#Pre-concetti

Come riferimento potete leggere il precedente articolo sul FileSystem.

#Introduzione

Linux è un sistema operativo multi-utente, a cui posso accedere diversi utenti contemporaneamente. Questo, ovviamente, solleva problemi di sicurezza poiché un utente maligno può corrompere, modificare o rimuovere dati importanti. Per questo il sistema operativo divide l’autorizzazione in due differenti livelli.

  • Ownership
  • Permission

#Ownership (proprietà)

Ad ogni file e directory in un sistema Linux vengono assegnati 3 tipi di proprietario.

  • User (o owner): per impostazione predefinita la persona che ha creato il file diventa il suo proprietario. Perciò l’utente che ha creato il file viene chiamato anche owner.
  • Group: un gruppo di utenti può contenere più users. Quest’ultimi che appartengono allo stesso group avranno le medesime autorizzazioni per accedere ad un determinato file.
  • Other: indica qualsiasi altro users che non è né il proprietario del file, né appartenente ad un gruppo possedente determinati permessi sul file in questione.

#Permissions (permessi)

Adesso che abbiamo individuato i 3 attori principali, possiamo parlare di come Linux li gestisce.
Ogni file e directory nel sistema Linux ha i seguenti 3 permessi, che sono associati ai 3 tipi di proprietario discussi sopra.

  • Read (lettura): assegna il diritto di lettura su un file (puoi leggere un file o elencare il contenuto di una directory).
  • Write (scrittura): assegna il diritto di scrittura su un file (puoi modificare un file o modificare la struttura di una directory).
  • Execute (esecuzione): assegna il diritto di eseguire un programma. Nota importante, anche se non hai i diritti di execute (quindi non puoi eseguire un determinato programma), eventualmente con i diritti di lettura potresti essere in grado di leggere il codice del programma.
0.1

#Come gestire i permessi in Linux

Ora vediamo come gestire i permessi in un sistema Linux, noi oggi utilizzeremo ParrotOS.

Il comando seguente ci permette di visionare i permessi che sono stati attribuiti a determinati files o directories.

ls -l
0.2

Guardiamo al codice evidenziato, il primo carattere ci indica se ci stiamo riferendo ad un file “-“ oppure ad una directory “d” .
I caratteri successivi sono già stati trattati, in più aggiungiamo solo il “-“ , che non ha lo stesso significato di quando lo troviamo come primo carattere nella stringa, infatti sta a significare che non è stato settato nessun tipo di permesso per quel gruppo e per quella determinata azione.

“dipa dipa”, sta ad indicare utente e gruppo.

By design, molte distribuzioni Linux aggiungeranno utenti ad un gruppo con lo stesso nome di gruppo del nome utente. Nel nostro caso, l’utente “dipa” viene aggiunto al gruppo “dipa”.

Analizziamo meglio i tre terzetti di caratteri relativi al file “fileOutOfScope”:

  • “rw-” , il proprietario del file/directory può leggere e scrivere(dipa).
  • “r–“ , i membri del gruppo(dipa) possono solamente leggere.
  • “r–“, tutti gli altri utenti possono solo leggere.

Di seguito una lista di possibilità di permessi in cui ci potremmo trovare:

0.3

#Come cambiare i permessi di file e directories

Possiamo usare il comando “chmod” che abbrevia l’inglese “change mode” per impostare i permessi di lettura, scrittura, esecuzione su un file o directory per il proprietario, il gruppo o il resto degli utenti.

chmod <permessi> <nome file o directory>

Abbiamo due modi per usare il comando “chmod”.

  • Absolute Mode, in questa modalità i permessi dei file non sono rappresentati da caratteri ma bensì da un numero ottale di cifre.
NumeroTipo di permessoSimbolo
0Nessun Permesso
1Esecuzione–x
2Scrittura-w-
3Esecuzione + Scrittura-wx
4Letturar–
5Lettura + Esecuzioner-x
6Lettura + Scritturarw-
7Lettura + Scrittura + Esecuzionerwx
0.4

Un esempio pratico:

chmod 764 fileOutOfScope
0.5
  • Symbolic Mode, che rispetto alla absolute mode, nella quale andiamo a modificare i permessi per tutti i proprietari, qui invece possiamo modificare i permessi di un singolo proprietario, utilizzando una specifica combinazione di simboli.
OperatoreDescrizione
+Aggiungi permesso
Rimuovi permesso
=Imposta i permessi e sovrascrivi i precedenti
0.6

I proprietari sono denominati in questo modo:

SimboloRiferimento
uuser
ggroups
oothers
aall
0.7

Un breve esempio pratico su come cambiare i permessi con symbolic mode.

0.8

#Social Networks

Se l’articolo vi è piaciuto, potete continuare a seguirci, oltre che su questo blog, anche sugli altri canali attivi e ricchi di contenuti: Twitch e YouTube.
Non esitate a lasciarci feedback, domande o precisazioni nei commenti o sui nostri canali social di Telegram e Discord!

Donato Di Pasquale
Donato Di Pasquale
@dipa996 | eWPT | CyberSecurity Enthusiast | Blog writer per PentestingMadeSimple

Lascia un commento