In Linux zijn bestandskenmerken metadata-eigenschappen die het gedrag van het bestand beschrijven. Een attribuut kan bijvoorbeeld aangeven of een bestand is gecomprimeerd of specificeren of het bestand kan worden verwijderd.
Sommige kenmerken, zoals onveranderlijkheid, kunnen worden ingesteld of gewist, terwijl andere, zoals codering, alleen-lezen zijn en alleen kunnen worden bekeken. De ondersteuning voor bepaalde attributen hangt af van het bestandssysteem dat wordt gebruikt.
In dit artikel wordt uitgelegd hoe u de chattr
commando om bestandskenmerken op Linux-bestandssystemen te wijzigen.
chattr
Syntaxis #
De chattr
commando heeft de volgende algemene vorm:
chattr [OPTIES] [OPERATOR][ATTRIBUTEN] BESTAND…
De waarde van de [BEDIENER]
onderdeel kan een van de volgende symbolen zijn:
+
- De plus-operator vertelt dechattr
om gespecificeerde attributen aan de bestaande toe te voegen.-
- De min-operator vertelt dechattr
om gespecificeerde attributen uit de bestaande te verwijderen.=
- De gelijke operator vertelt dechattr
om gespecificeerde attributen in te stellen als de enige attributen.
De operator wordt gevolgd door een of meer [ATTRIBUTEN]
vlaggen die u wilt toevoegen aan of verwijderen uit de bestandskenmerken. Hieronder vindt u een lijst met enkele veelvoorkomende kenmerken en bijbehorende vlaggen:
een
- Wanneer dit kenmerk is ingesteld, kan het bestand alleen worden geopend in de toevoegmodus om te schrijven.EEN
- Wanneer een bestand met deze attributenset open is, wordt zijn atime-record niet gewijzigd. atime (toegangstijd) is de laatste keer dat het bestand is geopend/geopend door een opdracht of toepassing.e
- Dit attribuut geeft aan dat het bestand begrenzingen gebruikt voor het toewijzen van de blokken op schijf. Dee
attribuut kan niet worden gewijzigd metchattr
.ik
- Dit kenmerk geeft aan dat het bestand onveranderlijk is, wat betekent dat het bestand niet kan worden verwijderd of hernoemd.
Voor een volledige lijst van alle bestandskenmerken en vlaggen typt u man chattr
in uw terminal.
Standaard worden bestandskenmerken niet bewaard bij het kopiëren van een bestand met opdrachten als cp
of rsync
.
chattr
Voorbeeld #
Een van de meest voorkomende toepassingen van chattr
is om de onveranderlijke vlag in te stellen op een bestand of map om te voorkomen dat gebruikers het bestand verwijderen of hernoemen.
U kunt de bestandskenmerken bekijken met de lsattr
opdracht:
lsattr todo.tekst
De output hieronder laat zien dat alleen de e
vlag is gezet:
--------------e----- todo.tekst
Om het bestand onveranderlijk te maken, voegt u de ik
vlag met de +
operator toe aan de bestaande attributen:
sudo chattr +ik todo.tekst
We gebruiken sudo omdat alleen root de onveranderlijke vlag kan veranderen.
Bevestig dat het kenmerk is toegevoegd:
lsattr todo.tekst
----ik---------e----- todo.tekst
Om de wijzigingen ongedaan te maken en de onveranderlijke vlag te verwijderen, gebruikt u de -
exploitant:
sudo chattr +ik todo.tekst
Met chattr
, u kunt meerdere attributen tegelijk toevoegen of verwijderen. Om het bestand bijvoorbeeld onveranderlijk te maken en de kernel te vertellen de laatste keer dat ze zijn geopend niet bij te houden, zou je het volgende gebruiken:
sudo chattr +iA todo.tekst
De laatste operator die u kunt gebruiken is de =
operator. Om bijvoorbeeld de e
attribuut als het enige attribuut, zou je uitvoeren:
sudo chattr "=e" todo.tekst
Merk op dat de operator en vlag tussen aanhalingstekens staan, om shell-interpretatie van de . te voorkomen +
karakter.
Conclusie #
chattr
is een opdrachtregelprogramma voor het wijzigen van de bestandskenmerken op een Linux-bestandssysteem.
Als je vragen of feedback hebt, laat dan gerust een reactie achter.