In questa pagina

Come comprendere i permessi dei file Linux e utilizzare Chmod 777 in modo efficace



Se sei nuovo su Linux, è probabile che tu abbia provato il comando chmod a un certo punto, probabilmente in un momento di disperazione o curiosità. Forse qualcuno ha casualmente detto di usare “chmod 777” su una cartella o un file per farlo funzionare, e in qualche modo ci è riuscito. Ma cosa significa in realtà? Perché alcuni permessi sembrano aprire tutto mentre altri sono molto più restrittivi? Capire come Linux gestisce i permessi dei file è essenziale se si vuole evitare di rendere vulnerabili i propri sistemi o di bloccarsi.

Sapere come impostare i permessi in modo sicuro e quando evitare l’incubo del 777 può risparmiarti grattacapi in seguito. Inoltre, c’è molto più da fare che mettere semplicemente un 777 su tutto, soprattutto perché i permessi di Linux funzionano su una combinazione di classi utente e livelli di autorizzazione. Questa guida illustrerà le basi del funzionamento dei permessi di Linux, il significato di quei simboli di autorizzazione e come usare correttamente chmod. L’obiettivo è fare chiarezza e forse prevenire qualche rischio per la sicurezza accidentale.

Come funzionano i permessi dei file in Linux

Quindi, in Linux, ogni file o directory appartiene a un utente specifico (il proprietario) e a un gruppo. Esaminando più attentamente i permessi, si noterà che ci sono regole predefinite per tre diverse classi di utenti: Proprietario, Gruppo e Altri (ovvero ospiti).È possibile visualizzarle nell’interfaccia grafica: fare clic con il pulsante destro del mouse su una cartella, andare su Proprietà e dare un’occhiata a Permessi. Ma nel terminale, l’eco dei permessi appare come drwxr-xr-x o simile. La prima lettera indica se si tratta di una directory (d) o di un file (-), e le altre lettere mostrano i permessi suddivisi in tre gruppi, uno per ciascuna classe di utente.

Il Proprietario di solito ha il controllo completo e può modificare i permessi. Il Gruppo e gli Altri hanno un accesso più limitato, a meno che non si modifichi la configurazione. Questa configurazione contribuisce a mantenere il sistema sicuro se si impostano i permessi in modo oculato. In caso contrario, i file potrebbero essere resi accessibili a chiunque, a volte intenzionalmente, a volte accidentalmente.

Comprensione delle classi utente

Un file appartiene a un proprietario e a un gruppo specifici, che puoi visualizzare con ls -l. I permessi per ogni categoria sono una stringa di simboli, come rwxr-xr–. Sono composti da tre parti: lettura (r), scrittura (w) ed esecuzione (x).Se vedi un trattino al posto di un simbolo, quel permesso non è concesso. Abbastanza semplice, ma la magia sta nel modo in cui questi sono combinati e nel loro significato pratico.

Livelli di autorizzazione

I tre principali tipi di accesso che puoi assegnare a file o directory:

  • Leggi : puoi dare un’occhiata al contenuto. Per le directory, significa elencare i file al loro interno.
  • Scrivi : puoi modificare il contenuto del file o aggiungere/rimuovere file da una directory.
  • Esecuzione : puoi eseguire script o programmi. Senza esecuzione, è praticamente come cercare di avviare un’auto senza chiave: non si avvia.

Combinando e abbinando queste autorizzazioni per classe utente si controlla esattamente cosa può fare ogni utente.È qui che entrano in gioco icone e numeri. Ed è proprio qui che le cose si fanno confuse e potenti.

Simboli e numeri di autorizzazione spiegati

I permessi possono essere visualizzati come simboli o numeri. I simboli sono utili per una visualizzazione rapida, utilizzati in comandi come ls -l. I numeri sono più facili da impostare negli script o nei comandi una volta compresa la logica che li sottende.

Simboli di autorizzazione

È possibile visualizzare i permessi dettagliati digitando ls -l. Ad esempio, una directory potrebbe apparire come drwxr-xr-x. Se la decodifichi:

  • d significa directory.
  • rwx = il proprietario può leggere, scrivere, eseguire.
  • rx = il gruppo può leggere ed eseguire, ma non scrivere.
  • rx = gli altri possono leggere ed eseguire, ma non scrivere.

Ogni terzina (rwx) rappresenta i permessi per ciascuna classe, in quest’ordine.

Permessi numerici

Il metodo numerico somma i permessi: lettura (4), scrittura (2), esecuzione (1).Per ogni classe utente, si sommano i permessi assegnati, ottenendo un numero da 0 a 7. Ad esempio, 644 significa:

  • 6 — proprietario: lettura (4) + scrittura (2) = accesso completo meno esecuzione.
  • 4 — gruppo: sola lettura.
  • 4 — altri: solo lettura.

È facile da ricordare una volta che si è imparato ad aggiungere i codici. Vuoi che tutti abbiano accesso completo? 777. Ma attenzione: questo significa che chiunque può fare qualsiasi cosa, anche azioni dannose.

Permesso 777 — Perché dovresti pensarci due volte

Questo livello di autorizzazione potrebbe sembrare allettante perché è rapido e semplice.` chmod 777 nomefile`, e voilà: chiunque può leggere, scrivere ed eseguire. Ma è una specie di disastro in agguato se non viene controllato. Su server, siti web o ambienti condivisi, questo apre la porta a malintenzionati o danni accidentali. Non so perché a volte funzioni, altre volte no: probabilmente è perché problemi di autorizzazione o impostazioni di sicurezza si intromettono in seguito.

La maggior parte degli amministratori di sistema o degli utenti attenti alla sicurezza evitano 777 come la peste. Preferiscono invece qualcosa come ` chmod 755`, che consente di controllare chi può fare cosa, mantenendo al contempo il sistema sicuro. Ad esempio: tu, come proprietario, ottieni pieni diritti, mentre tutti gli altri possono solo leggere o eseguire file, ma non modificarli. Questo è più sicuro, e Linux è stato progettato con questo tipo di approccio in mente.

Cambiare i permessi è abbastanza semplice, usando chmod. Il comando più elementare è questo:

chmod 755 /path/to/your/file

Sostituisci `/percorso/del/tuo/file` con il percorso o il nome effettivo del file. Ricorda che solo root o il proprietario del file (o gli utenti con privilegi sudo) possono modificare i permessi a questo livello.

È un po’ strano, ma in alcune configurazioni, se esegui chmod 777e sembra non funzionare, forse dovresti controllare i permessi o se qualche processo o impostazione di sicurezza lo sta bloccando. Inoltre, su alcuni sistemi, potresti dover usare sudo : sudo chmod 777 filename. Perché, ovviamente, Linux a volte deve rendere le cose più difficili del necessario.



Questo articolo è stato utile?