Po co nam chattr i co nam daje?
Zacznijmy od atrybutów które możemy zmienić:
- a – pliku nie można modyfikować, może tylko dopisywać do niego
- A – blokuje zmianę rekordu atime (access time)
- c – automatycznie wykonywana jest kompresja pliku przez kernel, podczas zapisu dane są kompresowane przed zapisem na dysk
- d – pliki z tym atrybutem są ignorowane przez mechanizm dump
- D – katalog oznaczony tym atrybutem jest modyfikowany synchronicznie, czyli wszystkie pliki w nim zawarte
- i – plik w trybie niemodyfikowalnym
- s – usunięty plik z tym atrybutem jest nadpisywany zerami i zapisany na dysk
- S – zmiany w pliku są zapisywane synchronicznie
- T – atrybut dla katalogu, którego celem jest rozdzielenie bloków dla podkatalogów
- u – usunięta treść pliku jest zapisana, co pozwala na cofnięcie usunięcia
Jak widać jest kilka atrybutów całkiem przydatnych. Sprawdzić listę atrybutów dla plików czy katalogów możemy przez wykonanie komendy:
$ lsattr
A teraz jak możemy dodawać, usuwać atrybuty:
Każdy wyżej wypisany atrybut możemy dodać poprzez komendę chattr +.. lub usunąć przez komendę: chattr -..
np. blokujemy zmianę rekordu atime
# chattr +A plik_testowy
Jak widać na powyższym zdjęciu data dostępu nie uległa zmianie od ostatniej zmiany z przed ustawienia atrybutu