Permessi sui file in Linux/Unix: come leggere, scrivere e modificare?

Linux è un clone di UNIX, il sistema operativo multiutente a cui possono accedere molti utenti contemporaneamente. Linux può anche essere utilizzato in mainframe e server senza alcuna modifica. Ma questo solleva preoccupazioni sulla sicurezza poiché un utente non richiesto o maligno può corrompere, modificare o rimuovere dati cruciali. Per una sicurezza efficace, Linux divide l'autorizzazione in 2 livelli.

  1. Proprietà
  2. permesso

Il concetto di file Linux autorizzazione e proprietà è cruciale in Linux. Qui spiegheremo le autorizzazioni e la proprietà di Linux e ne discuteremo entrambi. Cominciamo con il Proprietà.

Clicchi qui se il video non è accessibile

Proprietà dei file Linux

Ad ogni file e directory sul tuo sistema Unix/Linux vengono assegnati 3 tipi di proprietario, indicati di seguito.

Utente

Un utente è il proprietario del file. Per impostazione predefinita, la persona che ha creato un file ne diventa il proprietario. Pertanto, un utente viene talvolta chiamato anche proprietario.

Gruppo

Un gruppo utenti può contenere più utenti. Tutti gli utenti appartenenti a un gruppo avranno le stesse autorizzazioni del gruppo Linux per accedere al file. Supponiamo di avere un progetto in cui un numero di persone richiede l'accesso a un file. Invece di assegnare manualmente le autorizzazioni a ciascun utente, è possibile aggiungere tutti gli utenti a un gruppo e assegnare le autorizzazioni di gruppo al file in modo che solo i membri del gruppo e nessun altro possano leggere o modificare i file.

Altri

Qualsiasi altro utente che ha accesso a un file. Questa persona non ha creato il file, né appartiene a un gruppo di utenti che potrebbe possedere il file. In pratica significa tutti gli altri. Pertanto, quando si imposta l'autorizzazione per gli altri, si parla anche di impostazione delle autorizzazioni per il mondo.

Ora sorge la grande domanda: come funziona? Linux distingue tra questi tre tipi di utente in modo che un utente "A" non possa influenzare un file che contiene informazioni/dati vitali di altri utenti "B". È come se non volessi il tuo collega, che lavora sul tuo Computer Linux, per visualizzare le immagini. Qui è dove Permessi si inseriscono e definiscono comportamento dell'utente.

Cerchiamo di capire il Sistema di autorizzazione su Linux.

Permessi dei file Linux

Ogni file e directory nel sistema UNIX/Linux ha i seguenti 3 permessi definiti per tutti e 3 i proprietari sopra menzionati.

  • Leggi: Questa autorizzazione ti dà l'autorità di aprire e leggere un file. Il permesso di lettura su una directory ti dà la possibilità di elencarne il contenuto.
  • Scrivi: L'autorizzazione di scrittura ti dà l'autorità di modificare il contenuto di un file. L'autorizzazione di scrittura su una directory ti dà l'autorità di aggiungere, rimuovere e rinominare i file archiviati nella directory. Considera uno scenario in cui devi avere l'autorizzazione di scrittura sul file ma non disponi dell'autorizzazione di scrittura sulla directory in cui è archiviato il file. Sarai in grado di modificare il contenuto del file. Ma non sarai in grado di rinominare, spostare o rimuovere il file dalla directory.
  • Esegui: In Windows, un programma eseguibile ha solitamente un'estensione “.exe” e che puoi eseguire facilmente. In Unix/Linux non è possibile eseguire un programma a meno che non sia impostata l'autorizzazione di esecuzione. Se il permesso di esecuzione non è impostato, potresti comunque essere in grado di vedere/modificare il codice del programma (a condizione che siano impostati i permessi di lettura e scrittura), ma non eseguirlo.

Permessi dei file Linux
Permessi dei file in Linux/Unix

Vediamo i permessi dei file in Linux con esempi:

ls – l sul terminale dà

ls - l

Permessi dei file Linux

Qui abbiamo evidenziato '-rw-rw-r–'e questo codice dall'aspetto strano è quello che ci parla dei permessi Unix concessi al proprietario, al gruppo di utenti e al mondo.

Ecco, il primo '-' implica che abbiamo selezionato un file.p>

Permessi dei file Linux

Altrimenti, se fosse una directory, d sarebbe stato mostrato.

Permessi dei file Linux

I personaggi sono abbastanza facili da ricordare.

r = permesso di lettura
w = permesso di scrittura
x = eseguire il permesso
- = nessun permesso

Consideriamolo in questo modo.

La prima parte del codice è 'rw-'. Ciò suggerisce che il proprietario "Casa" può:

Autorizzazione file Linux

  • Leggi il file
  • Scrivere o modificare il file
  • Non può eseguire il file poiché il bit di esecuzione è impostato su '-'.

In base alla progettazione, molte distribuzioni Linux come Fedora, CentOS, Ubuntu, ecc. aggiungerà gli utenti a un gruppo con lo stesso nome di gruppo del nome utente. Pertanto, un utente "tom" viene aggiunto a un gruppo denominato "tom".

La seconda parte è 'rw-'. Per il gruppo utenti "Home" e i membri del gruppo possono:

  • Leggi il file
  • Scrivere o modificare il file

La terza parte è per il mondo, ovvero qualsiasi utente. Dice 'R-'. Ciò significa che l'utente può solo:

  • Leggi il file

Permessi dei file Linux

Modifica dei permessi di file/directory in Linux utilizzando il comando 'chmod'

Supponiamo che non desideri che il tuo collega veda le tue immagini personali. Ciò può essere ottenuto modificando i permessi dei file.

Possiamo usare il 'chmod' comando che sta per "cambia modalità". Usando il comando, possiamo impostare i permessi (lettura, scrittura, esecuzione) su un file/directory per il proprietario, il gruppo e il mondo.

Sintassi:

chmod permissions filename

Esistono 2 modi per utilizzare il command -

  1. Modalità assoluta
  2. Modalità simbolica

Modalità assoluta (numerica) in Linux

In questa modalità, file i permessi non sono rappresentati come caratteri ma come numero ottale di tre cifre.

La tabella seguente fornisce i numeri per tutti i tipi di autorizzazioni.

Numero Tipo di autorizzazione Simbolo
0 Nessun permesso -
1 Eseguire -X
2 Scrivi -w-
3 Esegui + Scrivi -wx
4 Leggi r-
5 Leggi + Esegui rx
6 Leggi +Scrivi rw
7 Leggi + Scrivi + Esegui rwx

Vediamo il comando chmod permessi in azione.

Modalità assoluta (numerica) in Linux

Nella finestra del terminale sopra indicata, abbiamo modificato i permessi del file "sample" in "764".

Modalità assoluta (numerica) in Linux

Il codice assoluto '764' dice quanto segue:

  • Il proprietario può leggere, scrivere ed eseguire
  • Il gruppo utenti può leggere e scrivere
  • Il mondo può solo leggere

Questo viene mostrato come '-rwxrw-r–

Ecco come puoi modificare le autorizzazioni utente in Linux su file assegnando un numero assoluto.

Modalità simbolica in Linux

Nella modalità Assoluta, puoi modificare le autorizzazioni per tutti e 3 i proprietari. Nella modalità simbolica è possibile modificare le autorizzazioni di un proprietario specifico. Fa uso di simboli matematici per modificare i permessi dei file Unix.

Operator Descrizione

+

Aggiunge un'autorizzazione a un file o una directory

-

Rimuove l'autorizzazione

=

Imposta l'autorizzazione e sovrascrive le autorizzazioni impostate in precedenza.

I vari proprietari sono rappresentati come –

Denominazioni utente

u

utente / proprietario

g

gruppo

o

Altri

a

contro tutti i

Non utilizzeremo i permessi in numeri come 755 ma caratteri come rwx. Consideriamo un esempio

Modalità simbolica in Linux

Modifica della proprietà e del gruppo in Linux

Per modificare la proprietà di un file/directory, puoi usare il seguente comando:

chown user filename

Nel caso in cui desideri modificare l'utente e il gruppo per un file o una directory, utilizza il comando

chown user:group filename

Vediamolo in azione

Modifica della proprietà e del gruppo in Linux

Nel caso in cui desideri modificare solo il proprietario del gruppo, utilizza il comando

chgrp group_name filename

'cambia' sta per gruppo di cambiamento.

Modifica della proprietà e del gruppo in Linux

Consiglio

  • Il file /etc/group contiene tutti i gruppi definiti nel sistema
  • Puoi utilizzare il comando "gruppi" per trovare tutti i gruppi di cui sei membro
  • Modifica della proprietà e del gruppo in Linux

  • Puoi utilizzare il comando newgrp per lavorare come membro di un gruppo diverso da quello predefinito
  • Modifica della proprietà e del gruppo in Linux

  • Non è possibile avere 2 gruppi che possiedono lo stesso file.
  • Non hai gruppi nidificati in Linux. Un gruppo non può essere sottogruppo di un altro
  • x- eseguire una directory significa avere il permesso di "entrare" in una directory e ottenere il possibile accesso alle sottodirectory
  • Ci sono altre autorizzazioni che puoi impostare su file e directory che saranno trattate in un tutorial avanzato successivo

Sommario:

  • Essendo Linux un sistema multiutente, utilizza le autorizzazioni e la proprietà per la sicurezza.
  • Ci sono tre tipi di utente su un sistema Linux, vale a dire: Utente, Gruppo e Altro
  • Linux divide i permessi dei file in lettura, scrittura ed esecuzione indicati da r,w e x
  • I permessi su un file possono essere modificati tramite il comando 'chmod' che può essere ulteriormente suddiviso in modalità Assoluta e Simbolica
  • Il comando 'chown' può cambiare la proprietà di un file/directory. Utilizzare i seguenti comandi: chown user file o chown user:group file
  • Il comando 'chgrp' può modificare la proprietà del gruppo nome file del gruppo chrgrp
  • Cosa significa x – eseguire una directory? A: Essere autorizzati a "entrare" in una directory e ottenere l'accesso possibile alle sottodirectory.