I permessi di accesso indicano chi può fare cosa.
- Utente proprietario: solitamente chi crea il file/directory
- Gruppo proprietario: gruppo primario dell’utente proprietario (specificato in
/etc/passwd)
Il proprietario definisce i permessi di accesso ovvero chi può leggere, scrivere ed eseguire un file/directory.
Permessi accesso a File
Permessi di acesso a Directory
Permessi Speciali
Esistono altri tre tipi di permessi detti speciali che possono essere utilizzate sia su file che directory:
setuid bit (s)
Si utilizza solo per i file eseguibili, quando vengono eseguiti, i privilegi con cui opera il corrispondente processo non sono quelli dell’utente che esegue il file, bensi quelli dell’utente proprietario del file.
Quindi, se il proprietario e’ root, viene eseguito con i privilegi di root, indipendentemente da chi lo ha eseguito
setgid bit (s)
Analogo di
setuidma con i gruppi. I privilegi sono quelli del gruppo del file eseguibile.
Può essere applicato anche ad una directory, e allora ogni file creato li dentro ha il gruppo della directory, anziché quello primario di chi crea i files.
sticky bit (t)
Applicato su directory corregge il comportamento di
w+x, obbligando l’utente ad avere i permessi di scrittura sul file per cancellarlo.Infatti senza sticky bit se l’utente ha permesso
w+rsulla directory ma non sui file della directory, può comunque cancellare i file.oss: sticky bit è inutile sui file.
il setuid rimpiazza la x nella terna user con una s il setgit rimpiazza la x nella terna group con una s il sticky rimpiazza la x nella terna other con una t
Comando chmod
https://www.freecodecamp.org/italian/news/permessi-sui-file-in-linux-come-usare-il-comando-chmod/
chmod è un comando che ti consente di cambiare i permessi (modalità) per un file o directory.
Con sintassi: chmod <Operazioni> <Nome File/Directory>
Modalità simbolica
Una lettera tra ugo per indicare la terna che vogliamo modificare, dove:
uindiausergindicagroupoindicaother
Una (o più) lettere tra rxwst per indicare ili permesso che vogliamo modificare, dove:
rindicareadxindicaexecutewindicawritesindicasetuid(se utilizzato su user) osetgid(se utilizzato su group)tindicasticky
Un operatore tra -, + o = dove:
- - indica la rimozione di un permesso
- + indica l’aggiunta o la sovrascrittura di un permesso
- = modifica i permessi di un intera tripla

