Chattr
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.