GNU/Linux >> Linux Esercitazione >  >> Linux

Perché sono stato in grado di eliminare un file di proprietà di root nella mia home directory senza essere root?

Soluzione 1:

I permessi, il contenuto e tutti gli attributi fanno parte dell'inode. Il nome è nella voce della rubrica. I permessi non vengono ereditati in modo ricorsivo (tranne quando si utilizza l'impostazione predefinita nelle ACL Posix).

Quando elimini un file, internamente rimuovi semplicemente un collegamento fisico dalla voce della directory all'inode. Quando tutti i collegamenti fisici vengono rimossi e l'inode non è in uso, il filesystem recupererà lo spazio. È necessario solo il permesso di scrittura sulla cartella, indipendentemente dai permessi impostati sul file (ad eccezione del permesso ext immutabile). Lo stesso per una cartella vuota.

Quando elimini una cartella che non è vuota, hai bisogno dell'autorizzazione di scrittura sulla cartella che stai eliminando e sul suo genitore.

Soluzione 2:

Quando possiedi la directory, puoi fare qualsiasi cosa su di essa e sui contenuti al suo interno in base alle autorizzazioni della directory. Pertanto, pur non possedendo il file, potevi comunque eliminarlo perché disponevi dell'autorizzazione di lettura/scrittura per la directory in cui risiedeva il file.


Linux
  1. Come eliminare il file di posta principale (cassetta postale) in Linux

  2. Perché Rm può rimuovere i file di sola lettura?

  3. Perché è stato scelto "~" per rappresentare la home directory?

  4. Cheat sheet per le autorizzazioni di file/directory Linux

  5. Esclusione della directory durante la creazione di un file .tar.gz

Come rimuovere (eliminare) un file o una directory in Linux

Spostare il file nella directory principale di un altro utente (senza Sudo)?

Controlla i permessi dei file Linux con ls

Perché la directory principale è indicata da un segno /?

Perché non posso eliminare questo file come root?

Come eliminare i file .fuse_hidden*?