I Linux er filattributter metadataegenskaber, der beskriver filens adfærd. For eksempel kan en attribut angive, om en fil er komprimeret, eller angive, om filen kan slettes.
Nogle attributter som uforanderlighed kan indstilles eller ryddes, mens andre som kryptering er skrivebeskyttet og kun kan ses. Understøttelsen af visse attributter afhænger af det anvendte filsystem.
Denne artikel forklarer, hvordan du bruger chattr
kommando til at ændre filattributter på Linux-filsystemer.
chattr
Syntaks #
Det chattr
kommando har følgende generelle form:
chattr [VALGMULIGHEDER] [OPERATOR] [ATTRIBUTER] FIL ..
Værdien af [OPERATØR]
del kan være et af følgende symboler:
+
- Plus-operatøren fortællerchattr
for at tilføje specificerede attributter til de eksisterende.-
- Minus-operatøren fortællerchattr
for at fjerne specificerede attributter fra de eksisterende.=
- Lige operatør fortællerchattr
for at indstille specificerede attributter som de eneste attributter.
Operatøren efterfølges af en eller flere [EGENSKABER]
flag, som du vil tilføje eller fjerne fra filattributterne. Nedenfor er en liste over et par almindelige attributter og tilknyttede flag:
-en
- Når denne attribut er indstillet, kan filen kun åbnes i tilføjelsestilstand til skrivning.EN
- Når en fil med dette attributtsæt er åben, ændres dets tidsregistrering ikke. atime (adgangstid) er sidste gang filen blev åbnet / åbnet af en kommando eller et program.e
- Denne attribut angiver, at filen bruger extents til at kortlægge blokke på disken. Dete
attribut kan ikke ændres medchattr
.jeg
- Denne attribut indikerer, at filen er uforanderlig, hvilket betyder, at filen ikke kan slettes eller omdøbes.
For at få en komplet liste over alle filattributter og flag skal du skrive mand chattr
i din terminal.
Som standard bevares filattributter ikke, når du kopierer en fil med kommandoer som f.eks cp
eller rsync
.
chattr
Eksempel #
En af de almindelige anvendelser af chattr
er at indstille det uforanderlige flag til en fil eller et bibliotek for at forhindre brugere i at slette eller omdøbe filen.
Du kan se filattributterne med lsattr
kommando:
lsattr todo.txt
Outputtet nedenfor viser, at kun e
flag er sat:
--------------e ----- todo.txt
For at gøre filen uforanderlig skal du tilføje jeg
flag med +
operatør til de eksisterende attributter:
sudo chattr + i todo.txt
Vi bruger sudo, fordi kun root kan ændre det uforanderlige flag.
Bekræft, at attributten er tilføjet:
lsattr todo.txt
----jeg --------- e ----- gør.txt
For at tilbageføre ændringerne og fjerne det uforanderlige flag skal du bruge -
operatør:
sudo chattr + i todo.txt
Med chattr
, du kan tilføje eller fjerne flere attributter på én gang. For eksempel, for at gøre filen uforanderlig og fortælle kernen ikke at spore det sidst åbnede tidspunkt, skal du bruge:
sudo chattr + iA todo.txt
Den sidste operatør, du kan bruge, er =
operatør. For eksempel at indstille e
attribut som den eneste attribut, ville du køre:
sudo chattr "= e" todo.txt
Bemærk, at operatøren og flag er lukket i tilbud, for at undgå skalfortolkning af +
Karakter.
Konklusion #
chattr
er et kommandolinjeværktøj til ændring af filattributter på et Linux-filsystem.
Hvis du har spørgsmål eller feedback, er du velkommen til at efterlade en kommentar.