lunedì 13 febbraio 2017

LINUX - INTRODUZIONE AI PERMESSI


Brevissima introduzione al concetto di Permesso in ambiente Linux/Unix e quali relazioni ci sono con Utenti e Gruppi.





Un Sistema Operativo Multi-Utente

I sistemi operativi Linux/Unix sono nati con il concetto di avere molteplici utenti per un Sistema Operativo, cosa che nel mondo Microsoft fu introdotto con l'avvento della tecnologia NT (praticamente con Windows 2000, se escludiamo Windows NT Server).

Linux fu progettato per avere più utenti connessi contemporaneamente, quindi nacque spontanea la necessità di proteggere le azioni di un utente da quelle degli altri. Il concetto di PERMESSO nasce proprio a questo scopo.

Permessi

I permessi base sono tre:
  • Read
    • permette di vedere il contenuto di un file o una directory
  • Write
    • permette di modificare o cancellare il contenuto di un file o una directory
  • Execute
    • permette di eseguire un programma o uno script all'interno di un file
la shell di Linux mostra i permessi associati ai file o directory attraverso il comando:
ls -l

vediamo un semplice output di questo comando
 -rw-r--r-- 1 root root 1031 Nov 18 09:22 /etc/passwd

Vediamo in ordine cosa significa ogni lettera del nostro output:
  1. il primo simbolo indica il tipo di file (d per una directory, s per un file speciale e - per un file normale).
  2. i tre caratteri successivi indicano i permessi del proprietario del file (nell'esempio vediamo come il proprietario possa solo leggere o scrivere il file, r e w)
  3. i tre caratteri successivi indicano i permessi degli utenti che appartengono allo stesso gruppo del proprietario (nell'esempio vediamo che gli utenti dello stesso gruppo del proprietario hanno il permesso di sola lettura)
  4. i tre caratteri successivi indicano i permessi agli altri utenti (nell'esempio vediamo che anche gli altri utenti hanno il permesso di sola lettura)
  5. il numero rappresenta il numero di collegamenti fisici al file, per saperne di più [wikipedia]
  6. il nome utente proprietario
  7. il gruppo assegnato
  8. le dimensioni approssimative in byte
  9. la data di ultima modifica
  10. il nome del file/directory

Conclusione

Con questo articolo abbiamo visto alcuni cenni preliminari riguardo i concetti di Permesso in associazione ad Utenti e Gruppi. Ci tengo a precisare che questo non è un tutorial bensì un articolo propedeutico a futuri articoli, necessario come riferimento a questi concetti base nel caso in cui un lettore non sappia di cosa si sta parlando.

Per Approfondire

  • Linuxcommand.org, guida alla shell [link]
  • Linux Shell Scripting Cookbook, Sarath Lakshman, ISBN 9781849513760 [link]

Nessun commento:

Posta un commento