GNU/Linux >> Linux Esercitazione >  >> Linux

Permessi della directory Linux di base e come controllarli

Questo articolo spiega i tipi di base delle autorizzazioni di directory, come funzionano e come verificarle.

Cosa sono le autorizzazioni di directory e come si applicano?

In Linux®, una directory è una cartella in cui vengono archiviati i file. Ogni file o directory specifica quali utenti possono accedervi. Questo articolo spiega come impostare le autorizzazioni ed eventualmente sovrascriverle.

Sovrascrivi esempi:

  • Se sei un chrooted/incarcerato utente, puoi accedere solo ai file o alle directory in cui sei incarcerato.
  • Se hai sudo/root -level autorizzazioni, puoi ignorare i permessi di file o directory.

Elenca file e directory

Questa sezione contiene esempi sulle operazioni sugli elenchi di Linux.

  • Elenca solo i nomi di file e directory:

    # ls
    
  • Elenca i file e le directory con molte più informazioni:

    # ls -l
    # ll
    
  • Elenca i file e le directory e mostra tutti i file nascosti:

    # ls -a
    

    Nota: I file nascosti sono spesso file di configurazione che il sistema nasconde per tenerli al sicuro.

  • Elenca i file e le directory con molte più informazioni e con le dimensioni in KB o GB anziché in bit:

    # ls -lh
    

Capire i risultati

Quando usi -l , ogni file o directory dovrebbe fornire le seguenti informazioni:

drwxr-xr-x. jdoe apache 3864 8 maggio 2021 MyStuff
Autorizzazioni Titolare utente Proprietario del gruppo Dimensioni in bit. Usa -h per convertire in KB/GB Quando è stato modificato l'ultima volta Nome

Nota sulle autorizzazioni :Se è presente un d all'inizio è una directory, nota file.

Ecco una guida più approfondita su come utilizzare ls comando.

Utente, gruppo, altro

Ogni file e directory ha tre tipi di autorizzazioni utente che riconosce:

  • L'utente impostato come Proprietario utente .
  • Qualsiasi utente nel gruppo impostato come Proprietario del gruppo .
  • Chiunque non sia in queste prime due categorie è conosciuto come Altro .

Un gruppo comune sui server Linux è apache , in modo da poter aggiungere a apache chiunque lavori sui siti Web gruppo. Hanno quindi l'accesso necessario a tutti i file e le directory relativi ai siti Web.

  • Cambia il proprietario dell'utente di un file o di una directory:

    # chown <user>: /MyStuff
    
  • Modifica il proprietario del gruppo di un file o di una directory:

    # chown :<group> /MyStuff
    
  • Modifica il proprietario dell'utente + il proprietario del gruppo di un file o di una directory:

    # chown <user>:<group> /MyStuff
    
  • Cambia il proprietario dell'utente e il proprietario del gruppo di un file o directory e tutto ciò che contiene:

    Importante: Fai attenzione con questo comando, poiché stai modificando più file senza alcuna opzione di annullamento.

    # chown -R <user>:<group> /MyStuff
    

Leggi, scrivi, esegui

Dopo che un file o una directory ti riconosce come proprietario di un utente, di un gruppo o altro, assegna una combinazione delle seguenti autorizzazioni:

  • r :l'autorizzazione di lettura ti consente di visualizzare o leggere il file o la directory.
  • con :l'autorizzazione di scrittura ti consente di scrivere o modificare il file o la directory.
  • x :L'autorizzazione di esecuzione ti consente di eseguire un file eseguibile o di cercare in una directory.

A ciascuna autorizzazione utente vengono assegnate queste, nell'ordine, dove un - rappresenta che il permesso è assente. Ad esempio, la tabella seguente spiega le autorizzazioni rwxr-xr– :

rwx r-x r--
La prima parte, i permessi del proprietario dell'utente La seconda parte, i permessi del proprietario del gruppo La terza parte, Altri permessi
leggere, scrivere, eseguire leggere, eseguire leggi
Questo utente può fare qualsiasi cosa Questo utente può guardare ed eseguire il file. Ma non modificarlo Questo utente può solo guardarlo

L'immagine seguente fornisce un modo semplice per visualizzarlo:

Come modificare le autorizzazioni con le lettere

  • Modifica i permessi di file o directory:

    # chmod ugo+-=rwx /MyStuff
    
    • Utilizza qualsiasi combinazione di ugo per rappresentare utente, gruppo, altro.
    • Utilizza qualsiasi combinazione di +-= per rappresentare l'aggiunta, la rimozione o la modifica delle autorizzazioni correnti alle autorizzazioni specificate.
    • Utilizza qualsiasi combinazione di rwx per rappresentare lettura, scrittura, esecuzione.
  • Dai leggi autorizzazioni per altro :

    # chmod o+r /MyStuff
    
  • Rimuovi modifica ed esegui autorizzazioni per gruppo e altro :

    # chmod go-wx /MyStuff
    

Il seguente grafico aiuta a illustrare questo concetto:

utente + r letto
gruppo g - w scrivere
o altro = x eseguire

Nota: chmod può anche usare -R per modificare ricorsivamente tutti i file e le directory all'interno di quella directory. Come prima, procedi con cautela poiché non esiste un'opzione di annullamento.

Come modificare le autorizzazioni con i numeri

  • Modifica i permessi di file o directory:

    # chmod 777 /MyStuff
    

Questo metodo utilizza la matematica, in cui aggiungi i valori di ciascuna autorizzazione per produrre un risultato finale a tre cifre:

  utente gruppo g o altro
r letto =4
scrivi =2
x esegue =1
  • Dai rwxr-xr– autorizzazioni:
  utente gruppo g o altro
r letto =4
scrivi =2
x esegue =1
  4+2+1 =7 4+1 =5 4

Usa il seguente comando:

# chmod 754 /MyStuff

Nota: chmod può anche usare -R per modificare ricorsivamente tutti i file e le directory all'interno di quella directory. Come prima, procedi con cautela poiché non esiste un'opzione di annullamento.

Ecco una guida più approfondita su come usare chmod

AVVISO: Non utilizzare chmod 777 a meno che tu non sia positivo va bene. Linux, per impostazione predefinita, dispone di solide misure di sicurezza. Tuttavia, alcuni file di configurazione non possono essere modificati da nessuno. Questi sono file di base che abilitano le funzioni di base per il computer o il server. Ad esempio, determinano come attivare e consentire agli utenti di accedere. Se sono impostati su 777, il computer o il server presume che sia stato violato e chiude tutto . In tal caso, non è possibile accedere, non è possibile accendere il dispositivo ed è irrecuperabile. Questo è un modo molto semplice per rompere completamente il tuo server, quindi usa chmod con cura.

Come esercitarsi

  • Crea una directory:

    # mkdir /MyStuff
    

Sei quindi libero di ls -l , chown e chmod questa directory vuota quanto vuoi. Quando hai finito, ripulisci da solo.

  • Elimina la directory:

    # rmdir /MyStuff
    

Scenari più avanzati

Ecco alcuni scenari da esplorare:

Scenario 1

L'utente jdoe ha bisogno di accedere a una directory specifica. Tuttavia, desideri mantenere il proprietario dell'utente e i proprietari del gruppo come sono.

Opzioni:

  • Aggiungi jdoe al gruppo che possiede la directory. Questo dà jdoe accedere a tutti gli altri file o directory di proprietà di quel gruppo.
  • Concedi più autorizzazioni ad "Altro" su quella directory. Ciò consente l'accesso a tutti gli altri utenti sul tuo computer o server.
  • Dai jdoe sudo permessi. jdoe può usare sudo per sovrascrivere i permessi di singoli file o directory. Tuttavia, "jdoe" avrebbe quindi le autorizzazioni di amministratore per accedere a qualsiasi cosa sul tuo computer o server.

Scenario 2

I tuoi sviluppatori vogliono cambiare /etc e tutto ciò che contiene su 777 autorizzazioni.

Risposta:DICA DI NO .

Ci sono molti file di sistema che si rompono e potenzialmente interrompono il tuo intero server . Invece, chiedi loro in modo specifico a quali file o directory devono accedere e quale tipo di accesso hanno bisogno.

Ecco una guida più approfondita per comprendere i permessi dei file Linux

Scenario 3

t s S +: Se esegui ls -l e vedere le autorizzazioni che includono un t s S o+ , non procedere.

Si tratta di autorizzazioni di file e directory più avanzate come SUID, Sticky Bit e ACL. Sono più complessi, ma possono essere completamente sovrascritti con un normale chmod comando.

Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.


Linux
  1. Come eliminare gli account utente con Home Directory in Linux

  2. Come controllare la versione del sistema operativo e di Linux

  3. Come creare ed eliminare un gruppo di utenti in Linux

  4. Domande per l'intervista su Linux:autorizzazioni di base per file e directory

  5. Come posso automatizzare la cancellazione e il ripristino della home directory di un utente Linux su un valore predefinito?

Come verificare la presenza di vulnerabilità di Meltdown e Spectre e correggerle in Linux

Come controllare e riparare un file system in RHEL Linux

Come controllare i privilegi utente MySQL in Linux

Come controllare la dimensione di file e directory su Linux

Tipi di base di utenti Linux e come controllarli

Come creare/aggiungere utenti in Linux