GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was sind die Unterschiede zwischen `chattr +i FILE` und `chmod -w FILE`?

chmod -w file ist in allen UNIX-Umgebungen verfügbar, jedoch chattr -i FILE Die Verwendung erweiterter Dateiattribute ist möglicherweise auf Ihrem System nicht verfügbar, je nach Typ des Dateisystems/der Distribution!

Sehen Sie sich außerdem diesen Link an, um die guten und schlechten Seiten der Verwendung erweiterter Dateiattribute zu erfahren.


Ab chattr Manpage

Eine Datei mit dem 'i'-Attribut kann nicht geändert werden:Sie kann nicht gelöscht oder umbenannt werden, es kann keine Verknüpfung zu dieser Datei erstellt werden und es können keine Daten in die Datei geschrieben werden. Nur der Superuser oder ein Prozess mit der Fähigkeit CAP_LINUX_IMMUTABLE kann dieses Attribut setzen oder löschen.

Wie Sie sehen können, chattr ist leistungsfähiger als chmod . chmod -w entfernt nur 'write ' Berechtigung für den Dateiinhalt. Außerdem müssen Sie chattr +i verwenden um die Datei zu schützen/sperren, dann chattr -i zum Entsperren


chattr +i setzt den immutable Dateisystemattribut für die Datei. Sie unterscheidet sich von Zugriffssteuerungsregeln. Zugriffskontrollregeln gelten für die Dateiattribute, während immutable ist ein erweitertes Dateisystem Dateiattribut, das möglicherweise nicht auf allen Dateisystemen verfügbar ist. Nur ein Benutzer mit Root-Rechten kann dieses erweiterte Attribut setzen oder aufheben. Niemand, nicht einmal der Besitzer oder ein Benutzer mit Schreibrechten, kann in eine solche Datei schreiben. Ein Benutzer ohne Berechtigung zum Schreiben einer Datei kann einen festen Link zu einer regulären Datei erstellen, aber wenn die Datei als unveränderlich markiert ist, kann ein Benutzer keinen festen Link erstellen, da das Dateisystem die Anzahl der Verweise auf diese unveränderliche Datei nicht ändern kann.

chattr +i ist nützlich zum Schutz vor versehentlichem Löschen durch root. Außerdem kann eine unveränderliche Datei nicht umbenannt oder von einem Verzeichnis in ein anderes verschoben werden.


Linux
  1. Was ist der Unterschied zwischen InnoDB und MyISAM?

  2. Was ist der Unterschied zwischen dem Schreiben in eine Datei und einem zugeordneten Speicher?

  3. Was ist der Unterschied zwischen fsync und syncfs?

  4. Was sind die Unterschiede zwischen lsof und netstat unter Linux?

  5. Was ist der Unterschied zwischen fsck und e2fsck?

Was ist der Unterschied zwischen Linux und Unix?

Was sind die Unterschiede zwischen cPanel und WHM?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen `fallocate --dig-holes` und `fallocate --punch-hole` unter Linux?

Was ist der Unterschied zwischen unlink und rm?