Unix / Linux - Permessi dei file / Modalità di accesso
Ciao a tutti, aspiranti programmatori! Oggi ci immergeremo nel mondo affascinante dei permessi dei file in Unix e Linux. Non preoccupatevi se siete nuovi a questo; alla fine di questo tutorial, sarete esperti di permessi dei file! Insieme intraprenderemo questo viaggio entusiasmante.
Gli indicatori di permesso
Immagina di essere il guardiano di un cassetto del tesoro. Devi decidere chi può aprirlo, chi può metterci cose e chi può togliere cose. Questo è essenzialmente ciò che sono i permessi dei file in Unix e Linux!
Quando elenchi i file utilizzando il comando ls -l
, vedrai qualcosa del genere:
-rwxr-xr-x 1 john users 2048 Gen 15 2023 myfile.txt
Analizziamo quelle misteriose lettere all'inizio:
- Il primo carattere indica il tipo di file (
-
per file regolare,d
per directory) - I successivi 9 caratteri rappresentano i permessi per l'utente, il gruppo e gli altri
Ecco una tabella utile per ricordare cosa significa ogni lettera:
Lettera | Significato |
---|---|
r | Permesso di lettura |
w | Permesso di scrittura |
x | Permesso di esecuzione |
- | Nessun permesso |
Modalità di accesso ai file
Ora parliamo di cosa permettono di fare questi permessi con i file:
- Lettura (r): Visualizzare il contenuto del file
- Scrittura (w): Modificare o eliminare il file
- Esecuzione (x): Eseguire il file come un programma o uno script
Ecco un modo divertente per ricordare: Pensa a "r" come "leggi la ricetta", "w" come "scrivi la ricetta" e "x" come "esegui la ricetta" (cucina il piatto)!
Modalità di accesso alle directory
Le directory hanno permessi simili, ma funzionano un po' diversamente:
- Lettura (r): Elenca il contenuto della directory
- Scrittura (w): Aggiunge o rimuove file nella directory
- Esecuzione (x): Accede alla directory e al suo contenuto
Immagina una directory come una stanza. "r" ti permette di guardare dentro, "w" ti permette di aggiungere o rimuovere mobili e "x" ti permette di entrare nella stanza.
Modifica dei permessi
Ora che comprendiamo i permessi, impariamo come modificarli! Utilizziamo il comando chmod
per questo. Ci sono due modi per usare chmod
: modalità simbolica e modalità assoluta.
Modalità simbolica
È come dare istruzioni per aggiungere o rimuovere permessi. Ecco la sintassi di base:
chmod [chi][+,-,=][permessi] nomefile
-
chi
può essere u (utente), g (gruppo), o (altri) o a (tutti) -
+
aggiunge il permesso,-
lo rimuove,=
lo imposta esattamente -
permessi
sono r, w, o x
Per esempio:
chmod u+x myfile.txt
Questo aggiunge il permesso di esecuzione per l'utente.
Uso di chmod con permessi assoluti
La modalità assoluta utilizza numeri per impostare i permessi. Ogni permesso ha un valore:
- r = 4
- w = 2
- x = 1
Somiamo questi valori per ciascuna categoria (utente, gruppo, altri). Ecco una tabella per aiutarti a comprendere:
Numero | Permesso |
---|---|
0 | --- |
1 | --x |
2 | -w- |
3 | -wx |
4 | r-- |
5 | r-x |
6 | rw- |
7 | rwx |
Per esempio:
chmod 755 myfile.txt
Questo imposta rwx per l'utente e rx per il gruppo e gli altri.
Modifica dei proprietari e dei gruppi
A volte, è necessario cambiare chi possiede un file o a quale gruppo appartiene. Vediamo come fare.
Modifica del proprietario
Per cambiare il proprietario di un file, utilizziamo il comando chown
:
chown nuovo proprietario nomefile
Per esempio:
chown alice myfile.txt
Questo cambia il proprietario di myfile.txt a alice.
Modifica della proprietà del gruppo
Per cambiare il gruppo, utilizziamo il comando chgrp
:
chgrp nuovo gruppo nomefile
Per esempio:
chgrp sviluppatori myfile.txt
Questo cambia il gruppo di myfile.txt a sviluppatori.
Permessi SUID e SGID
Ora parliamo di alcuni permessi speciali: SUID (Set User ID) e SGID (Set Group ID). Questi sono come superpoteri per i file!
- SUID: Quando impostato su un file eseguibile, esegue con i permessi del proprietario.
- SGID: Quando impostato su un file eseguibile, esegue con i permessi del gruppo.
Per impostare questi permessi, utilizziamo chmod
con un numero speciale:
chmod 4755 myfile # Imposta SUID
chmod 2755 myfile # Imposta SGID
Il 4 all'inizio imposta SUID, e 2 imposta SGID.
Ecco fatto! Ora sei ben informato sul mondo dei permessi dei file in Unix/Linux. Ricorda, con grande potere viene grande responsabilità. Usa questi permessi saggiamente per mantenere i tuoi file sicuri e protetti.
La pratica fa la perfezione, quindi non aver paura di sperimentare (in un ambiente sicuro, naturalmente). Prima di sapere, sarai un esperto nella gestione dei permessi dei file!
Credits: Image by storyset