GNU/Linux >> Linux Esercitazione >  >> Linux

Quali sono le differenze tra `chattr +i FILE` e `chmod -w FILE`?

chmod -w file è disponibile su tutti gli ambienti UNIX, tuttavia chattr -i FILE l'utilizzo di attributi di file estesi potrebbe non essere disponibile sul tuo sistema, a seconda del tipo di File System/Distro!

A parte questo, dai un'occhiata a questo link per gli aspetti positivi e negativi dell'utilizzo di attributi di file estesi.


Da chattr pagina man

Un file con l'attributo 'i' non può essere modificato:non può essere eliminato o rinominato, non è possibile creare alcun collegamento a questo file e nessun dato può essere scritto nel file. Solo il superutente o un processo che possiede la funzionalità CAP_LINUX_IMMUTABLE può impostare o cancellare questo attributo.

Come puoi vedere, chattr è più potente di chmod . chmod -w rimuove solo 'write ' autorizzazione al contenuto del file. E devi anche usare chattr +i per proteggere/bloccare il file, quindi chattr -i per sbloccare


chattr +i imposta il immutable attributo filesystem sul file. Differisce dalle regole di controllo degli accessi. Le regole di controllo dell'accesso si applicano agli attributi del file, mentre immutable è un filesystem esteso attributo file, che potrebbe non essere disponibile su tutti i filesystem. Solo un utente con privilegi root può impostare o annullare l'impostazione di questo attributo esteso. Nessuno, nemmeno il proprietario o un utente con permesso di scrittura, può scrivere in tale file. Un utente senza autorizzazione di scrittura file può creare un collegamento fisico a un file normale, ma se il file è contrassegnato come immutabile, un utente non può creare un collegamento fisico, poiché il filesystem non può modificare il conteggio dei riferimenti a questo file immutabile.

chattr +i è utile per la protezione dalla cancellazione accidentale da parte di root. Inoltre, un file immutabile non può essere rinominato o spostato da una directory all'altra.


Linux
  1. Qual è la differenza tra la scrittura su un file e una memoria mappata?

  2. Qual è la differenza tra strtok_r e strtok_s in C?

  3. Qual è la differenza tra fsck ed e2fsck?

  4. Qual è la differenza tra ls e l?

  5. Quali sono le differenze tra rdesktop e xfreerdp?

Qual è la differenza tra InnoDB e MyISAM?

Qual è la differenza tra Linux e Unix?

La differenza tra .exrc e .vimrc?

Quali sono le differenze tra cPanel e WHM?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?