Chattr

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

chattr - Ändra filattribut på ett Linux filsystem

Kommandot `chattr` används för att ändra filattribut på ett ext2/ext3/ext4-filsystem i Linux.

Syntax

chattr [ALTERNATIV] [+-=ATTRIBUT] FIL...

Beskrivning

Kommandot `chattr` ändrar filattribut på ett Linux filsystem. Attributen kan användas för att förbättra säkerheten eller ändra beteendet för filer och kataloger.

Alternativ

Kommandot `chattr` stöder flera alternativ som kan användas för att justera hur filattribut ändras:

  • -R - Rekursivt ändra attribut för kataloger och deras innehåll.
  • -V - Visa en detaljerad beskrivning av åtgärderna.
  • -f - Tyst läge, undertryck felmeddelanden.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Attribut

Följande attribut kan användas med `chattr`:

  • a - Append only: Filen kan bara läggas till, inte ändras.
  • A - No atime updates: Uppdatera inte filens åtkomsttid.
  • c - Compressed: Filen är komprimerad på disken.
  • D - Synchronous directory updates: Skriv synkront uppdateringar av kataloger.
  • i - Immutable: Filen kan inte ändras, raderas eller länkas till.
  • j - Data journaling: Alla data till filen är journade.
  • s - Secure deletion: Filen raderas säkert.
  • S - Synchronous updates: Skriv synkront uppdateringar till filen.
  • t - No tail-merging: Tillåt inte sammanfogning av delar av filer.
  • u - Undeletable: Filen kan återställas om den raderas.

För att lägga till ett attribut, använd `+`, för att ta bort ett attribut, använd `-`, och för att ställa in ett attribut exakt, använd `=`.

Exempel

Här är några praktiska exempel som visar hur du kan använda `chattr`-kommandot:

  • För att göra en fil skrivskyddad (immutable):

chattr +i fil.txt

  • För att ta bort skrivskydd från en fil:

chattr -i fil.txt

  • För att sätta append only-attributet på en loggfil:

chattr +a loggfil.log

  • För att ta bort append only-attributet från en loggfil:

chattr -a loggfil.log

  • För att rekursivt ändra attribut för en katalog och dess innehåll:

chattr -R +i katalog/

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `chattr` på macOS jämfört med Linux:

  • **Tillgänglighet:** `chattr`-kommandot är specifikt för Linux och används för att ändra filattribut på ext2/ext3/ext4-filsystem. Det finns inget direkt motsvarande kommando på macOS eftersom macOS använder andra filsystem som HFS+ och APFS.
  • **Filsystem:** `chattr` fungerar endast på ext2/ext3/ext4-filsystem, vilka inte används som standard på macOS. På macOS används andra verktyg som `chflags` för att ändra filattribut.
  • **Attribut:** Attributen som stöds av `chattr` är specifika för ext-filsystemen och har inte direkt motsvarighet på macOS.

Exempel på att använda `chflags` på macOS:

  • För att göra en fil skrivskyddad (immutable):

chflags uchg fil.txt

  • För att ta bort skrivskydd från en fil:

chflags nouchg fil.txt

Det är alltid bra att konsultera `man`-sidan för `chattr` på Linux och motsvarande kommandon på macOS för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `chattr`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att du har tillräckliga rättigheter att ändra filattribut (kör som root eller använd sudo).
  • Att filsystemet du arbetar med är av typen ext2/ext3/ext4.

Se även

  • lsattr - Visa filattribut på ett Linux filsystem.
  • chmod - Ändra filers behörigheter.
  • chown - Ändra ägarskap av filer och kataloger.
  • chflags - Ändra filattribut på macOS.

Källor