I permessi speciali in Linux sono permessi avanzati che possono essere impostati su file o directory e forniscono funzionalità o restrizioni aggiuntive.
Permettono di gestire i privilegi e la sicurezza del sistema in modo più preciso rispetto ai normali diritti di accesso (lettura, scrittura, esecuzione). Inoltre, i diritti di accesso speciali in Linux forniscono capacità o restrizioni speciali per un utente, un gruppo o un file. Questi includono i seguenti diritti di accesso:
Diritto di esecuzione (execute
): eseguire file eseguibili o utilizzare un comando per eseguire determinate azioni.Leggere
: visualizzare il contenuto di un file o di una directory.Scrivere
: modificare il contenuto di un file o creare, modificare o eliminare file in una directory.In un sistema Linux esistono vari diritti di accesso a file e directory che determinano quali azioni possono essere consentite o negate a un particolare utente o gruppo di utenti. I principali diritti di accesso speciali ai file in Linux sono i seguenti:
"setuid
"(suid
): quando il permesso"setuid
" è impostato su un file eseguibile, il processo viene eseguito con i privilegi del proprietario del file anziché dell'utente che lo esegue. Questo permette di ripristinare temporaneamente i privilegi per alcuni compiti.setgid
"(sgid
): quando il permesso"setgid
" è impostato su un file eseguibile, il processo viene avviato con i privilegi del gruppo del proprietario del file, non del gruppo dell'utente che lo avvia. Ciò consente la condivisione di file e risorse tra membri dello stesso gruppo."sticky bit
": l'impostazione di uno"sticky bit"
su una directory consente solo al proprietario del file di eliminare o spostare i file all'interno della directory, anche se altri utenti hanno privilegi di scrittura sulla directory. Questo è utile per l'uso generale di una directory come /tmp, per evitare che altri utenti cancellino o modifichino i file.Di solito questi permessi speciali sono specificati insieme ai permessi standard (rwx) e sono indicati da valori simbolici o numerici. Ad esempio, setuid
è indicato da una"s
" invece che da una"x
" per il proprietario di un file eseguibile.
Se si desidera impostare o modificare permessi speciali per i file in Linux, è possibile utilizzare il comando chmod con gli argomenti appropriati. Ad esempio, perimpostare "setuid
" su un file eseguibile, si può usare il comando"chmod u+s filename
".
I diritti di accesso speciali (SUID, SGID e Sticky bit) possono essere impostati su file o directory utilizzando il comando chmod
in Linux.
Per impostare SUID:
chmod +s file_name
Per impostare SGID su una directory:
chmod +s directory_name
Per installare Sticky bit su una directory:
chmod +t derectory_name
Nota: Si raccomanda di limitare l'installazione di SUID sui file, in quanto potrebbe rappresentare un potenziale rischio per la sicurezza del sistema. Utilizzare i diritti di accesso speciali con cautela e solo in situazioni ben giustificate e che non creino vulnerabilità.
È possibile utilizzare il comando `ls-l`
per visualizzare i diritti di accesso speciali che sono stati impostati. I permessi, compresi quelli speciali, vengono visualizzati come valori alfabetici o numerici dopo i permessi dei file o delle directory.