gototopgototop
 
Sei in: Home Page Articoli Vari Cambiare i permessi ai files con il CHMOD su server Unix

Assegnare i permessi ai files con il CHMOD su server Unix

L'acronimo indica letteralmente: CHange MODe, vale a dire "cambiare il modo" dei permessi su un file o su una cartella. Va detto subito, come si legge dal titolo, che tali operazioni sono possibili su server Unix-like. Ad onor del vero, la maggior parte di quello che si leggerà nel tutorial, vale anche per sistemi operativi quali Windows NT, Windows 2000 e Windows XP; l'unica differenza, rispetto ai server Unix, è che non si possono dare e / o cambiare le impostazioni sui files via FTP, sui server di casa Microsoft.

Mi ha portato alla scrittura di questo articolo il fatto di aver intrapreso, da un pò di tempo, la creazione di siti web con il CMS Joomla!. Quale attinenza potrebbe avere un tutorial sui permessi in lettura e scrittura e codice PHP? Apparentemente nessuna ma a me personalmente è successo di dover intervenire, tramite FTP, sui permessi dei files. Ovviamente, quando si parla di permessi sui files, non ci si riferisce esclusivamente solo ai files inerenti il core di Joomla!

Multiutenza dei sistemi Unix

Unix è un sistema multiutente. Possiede un proprio meccanismo di permessi memorizzati su File System. Questo sta ad indicare che più utenti possono connettersi nello stesso momento da diversi terminali. Oltre all'amministratore, che ha un account speciale il cui username è root, ci sono altre persone che possono accedere a tutto il sistema di cartelle e files, presenti sul server. L'amministratore ha un accesso totale all'interno del sistema con la funzione di poter creare gli account degli altri utenti. Per questo motivo esso viene spesso definito "super utente". In base a quanto appena scritto, il "sistema" al quale ho fatto menzione potrebbe essere rappresentato dallo spazio remoto (la cartella principale del nostro ipotetico sito web).

Risulta evidente che gli amministratori dei server hanno dovuto studiare dei metodi per la protezione dei files e "proteggere" l'accesso agli stessi, a seconda dell'utenza e delle caratteristiche ad essa assegnate, che si connette in un determinato momento.

Le classi di permessi

Ad ogni file e directory, in un File System Unix, viene assegnato un utente (di solito il suo creatore) che ne diventa il proprietario. Agli stessi files e ditectories viene assegnato, inoltre, un gruppo di appartenenza. Per gli utenti che non sono proprietari dei files, ma che sono membri del gruppo di appartenenza dei files stessi, si applica la classe di permessi detta gruppo. E' necessario fare, a questo punto, una precisazione: un file appartiene ad un gruppo di utenti, mentre un utente del sistema può essere membro di uno o più gruppi. Per tutti gli altri utenti che non rientrano nei due casi sopra menzionati, viene applicata la classe di permessi detta altri.

In conlusione del presente paragrafo possiamo asserire che i soggetti che possono operare sui files e le cartelle sono 3:

  • il ProprietarioUser / owner
  • il GruppoGroup
  • gli UtentiOthers

Da questo si evince che ogni utente deve avere dei permessi diversi per operare sul server; questo perchè i diritti riconosciuti al Proprietario non possono (e non devono) essere uguali a quelli di un utente semplice, al quale sono permesse operazioni "circoscritte".

Lettura, scrittura ed esecuzione dei files

Fatta questa importante precisazione, entriamo nel vivo dell'articolo vedendo da vicino cosa sono le autorizzazioni. Per ogni file presente sul server, possono essere assegnati 3 tipi di autorizzazioni. Ognuna di esse ha il compito di far eseguire l'operazione corrispondente al suo proprietario. Le autorizzazioni sui files sono:

  • Lettura: → viene identificata dalla lettera r (read) o dalla cifra 4 (nel formato ottale). Il suo significato è evidente; il file sarà leggibile da tutti coloro i quali avranno tale permesso.
  • Scrittura: → identificata dalla lettera w (write) o dalla cifra 2. Sono consentite le modifiche e la riscrittura del file o di scrivere all'interno della directory.
  • Esecuzione: → identificata dalla lettera x (exe) o dalla cifra 1. Permette l'esecuzione di uno script o l'accesso ai contenuti di una cartella.

Nonostante nell'elenco sopra riportato siano state menzionate anche le directories, è necessario fare una importante precisazione:

  • i permessi di lettura consentono al proprietario di ottenere la lista dei files situati nella cartella;
  • i permessi di scrittura danno la possibilità di creare e cancellare nuovi files e nuove directories all'interno di quella in cui si dispone delle autorizzazioni;
  • i permessi di esecuzione fanno accedere alla directory.

Da questo ne consegue che: se volessimo accedere ad una cartella che abbia i permessi di esecuzione ma non quelli di lettura, riceveremo un errore. Se, invece, volessimo richiamare il singolo file, purchè questo abbia avuto i permessi di lettura, esso è raggiungibile, all'interno della cartella con gli stessi permessi poco fa menzionati, senza nessun problema. Apparentemente potrebbe non voler significare molto quanto appena scritto ma posso assicurare, per esperienza, che spesso mi sono travato dinanzi a questa cosa insormontabile. Ecco spiegato il motivo.

Interpretare i numeri assegnati ai permessi

Una volta capito chi sono i soggetti che possono operare sui files e le cartelle, conosciuto numeri e lettere associati ai permessi, vediamo ora con un esempio pratico come poter intervenire su un singolo file in remoto. Accediamo alla directory del nostro sito web remoto, via FTP, e facciamo click con il tasto destro del mouse su un file o su una qualsiasi cartella (l'esempio è stato fatto con l'estensione gratuita FireFTP per FireFox); selezioniamo Properties ed apparirà una wizard, come l'immagine di seguito riportata:

wizard dei permessi su una directory

La cartella ha un CHMOD 755 e vuol dire che:

  • 7 → (4 + 2 + 1) → leggibile - scrivibile - eseguibile al Proprietario (User/owner);
  • 5 → (4 + 0 + 1) → leggibile - eseguibile al Gruppo (Group);
  • 5 → (4 + 0 + 1) → leggibile - eseguibile agli altri Utenti (Others).

Da questo si capisce che un file o una cartella con permessi assegnati a 777, possono mettere in serio pericolo la sicurezza del sito o parte di esso. Se siamo così curiosi di vedere come funzionano tali permessi, possiamo cercare di assegnarne qualcuno noi e vedere immediatamente cosa succede. In presenza di permessi non corretti, potremmo avere il blocco dell'intero sito. Basterà settarli sul numero precedente alla modifica.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati