I Linux är filattribut metadataegenskaper som beskriver filens beteende. Ett attribut kan till exempel ange om en fil är komprimerad eller ange om filen kan raderas.
Vissa attribut som oföränderlighet kan ställas in eller rensas, medan andra som kryptering är skrivskyddade och kan endast ses. Stödet för vissa attribut beror på vilket filsystem som används.
Den här artikeln förklarar hur du använder chattr
kommando för att ändra filattribut på Linux-filsystem.
chattr
Syntax #
De chattr
kommandot har följande allmänna form:
chattr [ALTERNATIV] [OPERATOR] [ATTRIBUTES] FIL ..
Värdet av [OPERATÖR]
del kan vara en av följande symboler:
+
- Plus-operatören säger tillchattr
för att lägga till angivna attribut till befintliga.-
- Minusoperatören säger tillchattr
för att ta bort angivna attribut från befintliga.=
- Lika operatören säger tillchattr
för att ställa in angivna attribut som enda attribut.
Operatören följs av en eller flera [ATTRIBUTER]
flaggor som du vill lägga till eller ta bort från filattributen. Nedan följer en lista med några vanliga attribut och tillhörande flaggor:
a
- När detta attribut är inställt kan filen endast öppnas i append-läge för skrivning.A
- När en fil med denna attributuppsättning är öppen ändras inte tidsposten. atime (åtkomsttid) är sista gången filen öppnades / öppnades av något kommando eller program.e
- Detta attribut anger att filen använder extens för att mappa blocken på disken. Dee
attribut kan inte ändras medchattr
.i
- Detta attribut indikerar att filen är oföränderlig, vilket innebär att filen inte kan raderas eller byta namn.
För en komplett lista över alla filattribut och flaggor, skriv man chattr
i din terminal.
Som standard bevaras inte filattribut när du kopierar en fil med kommandon som cp
eller rsync
.
chattr
Exempel #
En av de vanligaste användningarna av chattr
är att ställa in den oföränderliga flaggan till en fil eller katalog för att förhindra att användare raderar eller byter namn på filen.
Du kan visa filattributen med lsattr
kommando:
lsattr todo.Text
Utdata nedan visar att endast e
flaggan är inställd:
--------------e ----- todo.Text
För att göra filen oföränderlig, lägg till i
flagga med +
operatör till befintliga attribut:
sudo chattr + i todo.Text
Vi använder sudo eftersom bara root kan ändra den oföränderliga flaggan.
Bekräfta att attributet har lagts till:
lsattr todo.Text
----jag --------- e ----- göra.Text
För att återställa ändringarna och ta bort den oföränderliga flaggan, använd -
operatör:
sudo chattr + i todo.Text
Med chattr
, du kan lägga till eller ta bort flera attribut samtidigt. Om du till exempel vill göra filen oföränderlig och berätta för kärnan att inte spåra den senast åtkomna tiden använder du:
sudo chattr + iA todo.Text
Den sista operatören som du kan använda är =
operatör. Till exempel för att ställa in e
attribut som enda attribut, skulle du köra:
sudo chattr "= e" todo.Text
Observera att operatören och flaggan finns i citat för att undvika skaltolkning av +
karaktär.
Slutsats #
chattr
är ett kommandoradsverktyg för att ändra filattributen i ett Linux-filsystem.
Om du har några frågor eller feedback, lämna gärna en kommentar.