CHATTR(1)

NAZWA
chattr - zmienia atrybuty plików w linuksowym systemie plików

SKŁADNIA
chattr [ -RVf ] [ -v wersja ] [ -p projekt ] [ tryb ] pliki...

OPIS
chattr zmienia atrybuty plików w linuksowym systemie plików.

The format of a symbolic mode is +-=[aAcCdDeFijmPsStTux].

The operator '+' causes the selected attributes to be added to the existing attributes of the files; '-' causes them to be removed; and '=' causes them to be the only attributes that the files have.

The letters 'aAcCdDeFijmPsStTux' select the new attributes for the files: append only (a), no atime updates (A), compressed (c), no copy on write (C), no dump (d), synchronous directory updates (D), extent format (e), case-insensitive directory lookups (F), immutable (i), data journaling (j), don't compress (m), project hierarchy (P), secure deletion (s), synchronous updates (S), no tail-merging (t), top of directory hierarchy (T), undeletable (u), and direct access for files (x).

The following attributes are read-only, and may be listed by lsattr(1) but not modified by chattr: encrypted (E), indexed directory (I), inline data (N), and verity (V).

Not all flags are supported or utilized by all file systems; refer to file system-specific man pages such as btrfs(5), ext4(5), mkfs.f2fs(8), and xfs(5) for more file system-specific details.

OPCJE

-R  Rekurencyjna zmiana atrybutów katalogów i ich zawartości.

-V  Tryb szczegółowy komunikatów chattr oraz wypisanie wersji programu.

-f  Wyłącza wyświetlanie większości komunikatów o błędach.

-v wersja
    Ustawia wersję pliku/numer pokolenia (generation number).

-p projekt
    Ustawia numer projektu pliku.

ATRYBUTY

a   Plik z ustawionym atrybutem a może być otwierany do zapisu tylko w trybie dopisywania. Jedynie superużytkownik lub proces posiadający możliwosć CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

A   Gdy modyfikowany jest plik z ustawionym atrybutem A, jego rekord atime nie jest zmieniany. Pozwala to uniknąć sporej ilości dyskowych operacji wejścia/wyjścia w systemach zainstalowanych na laptopach.

c   Plik z ustawionym atrybutem c jest automatycznie kompresowany na dysku przez jądro. Odczyt tego pliku zwraca zdekompresowane dane. Zapis do pliku powoduje kompresję danych przed zapisaniem ich na dysku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczeniach na końcu niniejszego dokumentu. Uwaga: w przypadku btrfs, po ustawieniu flagi c nie da się ustawić flagi C. Występuje też konflikt z opcją montowania btrfs nodatasum).

C   Plik z atrybutem C nie jest przedmiotem aktualizacji kopiowania przy zapisie. Flaga jest obsługiwana wyłącznie w systemach przeprowadzających kopiowanie przy zapisie. Uwaga: w btrfs flaga ta powinna być ustawiana dla pustych i nowych plików. Jeśli zostanie ustawiona dla pliku mającego bloki danych, nie jest zdefiniowane, kiedy bloki przypisane do pliku będą w pełni stabilne. Jeśli flaga jest ustawiona na katalogu, nie ma wpływu na sam katalog, lecz wszystkie nowe pliki w nim tworzone będą miały ustawiony atrybut No_COW. Gdy ustawiona jest flaga C, nie można ustawić flagi c.

d   Plik z ustawionym atrybutem d nie jest kandydatem do archiwizacji, podczas uruchamiania programu dump(8).

D   Gdy modyfikowany jest katalog z ustawionym atrybutem D, zmiany są zapisywane na dysk synchronicznie; jest to równoznaczne z opcją montowania "dirsync", dotyczącą określonego zbioru plików.

e   Atrybut e wskazuje, że plik używa ekstentów do mapowania bloków na dysku. Nie może być usunięty przez chattr(1).

E   Plik, katalog lub dowiązanie symboliczne z atrybutem E jest zaszyfrowany przez system plików. Nie da się go ustawić ani zresetować za pomocą chattr(1), choć można go wyświetlić programem lsattr(1).

F   Katalog z ustawionym atrybutem F wskazuje, że wszystkie wyszukiwania ścieżek wewnątrz niego są wykonywane bez zwracania uwagi na wielkość znaków. Atrybut można zmienić wyłącznie w pustych katalogach, w systemach plików z włączoną funkcją casefold.

i   Plik z atrybutem i nie może być zmieniany: nie może być kasowany ani nie może być zmieniana jego nazwa, nie można tworzyć do niego dowiązań, większość jego metadanych nie da się zmienić oraz niemożliwe jest otwarcie go w trybie do zapisu. Jedynie superużytkownik i proces posiadający możliwość CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

I   Atrybut I jest używany przez kod h-drzew do wskazania, że dany katalog jest indeksowany za pomocą haszowanych drzew. Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

j   Wszystkie dane z pliku z ustawionym atrybutem j zostaną zapisane do dziennika ext3 lub ext4 przed zapisaniem ich do pliku, o ile system plików został zamontowany z opcją "data=ordered" lub "data=writeback" i posiada dziennik. Gdy system plików jest zamontowany z opcją "data=journal", wszystkie dane są zapisywane do dziennika, więc ten atrybut nie ma znaczenia. Jedynie superużytkownik i proces posiadający możliwość CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

m   Plik z atrybutem m jest nie jest kompresowany w systemach plików obsługujących kompresję po pliku.

N   Plik z atrybutem N wskazuje że plik przechowuje dane bezpośrednio w i-węźle. Nie da się go ustawić ani zdjąć za pomocą chattr(1), choć można go wyświetlić programem lsattr(1).

P   Katalog z ustawionym atrybutem P, będzie wymuszał hierarchiczną strukturę z identyfikatorem projektu. Pliki i katalogi utworzone w tym katalogu odziedziczą jego identyfikator projektu. Ograniczone są operacje zmian nazw - przy przenoszeniu pliku lub katalogu do innego katalogu identyfikatory projektów muszą się zgadzać. Dodatkowo dowiązanie twarde do pliku można utworzyć tylko wówczas, jeśli identyfikator projektu dla pliku i jego katalogu docelowego są zgodne.

s   Gdy plik z ustawionym atrybutem s zostanie skasowany, jego bloki zostają wyzerowane i zapisane z powrotem na dysku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczeniach na końcu niniejszego dokumentu.

S   Gdy modyfikowany jest plik z ustawionym atrybutem S, zmiany są zapisywane na dysk synchronicznie; jest to równoznaczne z opcją montowania "sync", dotyczącą określonego zbioru plików.

t   Plik z atrybutem t nie będzie miał częściowego fragmentu bloku na końcu pliku uwspólnionego z innymi plikami (na systemach plików wspierających łączenie końcówek). Jest to niezbędne dla programów takich jak LILO, które dokonują bezpośredniego odczytu z systemu plików i które nie rozumieją plików o połączonych końcówkach. Uwaga: w chwili pisania tego tekstu systemy plików ext2, ext3 i ext4 nie obsługują (jeszcze, oprócz bardzo eksperymentalnych łatek) łączenia końcówek.

T   Katalog z atrybutem T zostanie uznany za będący na szczycie hierarchii katalogów na potrzeby alokatora bloków Orlov. Jest to wskazówka dla alokatora bloków używanego przez ext3 i ext4, że podkatalogi znajdujące się poniżej nie są ze sobą powiązane i dlatego powinny być rozmieszczone w innych miejscach do celów alokacji. Dobrym pomysłem jest np. ustawienie atrybutu "T" dla katalogu /home, dzięki czemu /home/jasiek i /home/marysia będą położone w oddzielnych grupach bloków. Do katalogów, które nie mają ustawionego tego atrybutu, alokator bloków Orlov będzie się starał grupować podkatalogi bliżej siebie tam, gdzie to będzie możliwe.

u   Gdy kasowany jest plik z ustawionym atrybutem u, jego zawartość zostaje zachowana. Umożliwia to użytkownikowi odzyskanie takiego pliku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczaniach na końcu niniejszego dokumentu.

x   A file with the 'x' requests the use of direct access (dax) mode, if the kernel supports DAX. This can be overridden by the 'dax=never' mount option. For more information see the kernel documentation for dax: <https://www.kernel.org/doc/html/latest/filesystems/dax.html>.

    If the attribute is set on an existing directory, it will be inherited by all files and subdirectories that are subsequently created in the directory. If an existing directory has contained some files and subdirectories, modifying the attribute on the parent directory doesn't change the attributes on these files and subdirectories.

V   Plik z atrybutem V ma włączoną funkcję verity. Nie da się do niego pisać, a system plików automatycznie zweryfikuje wszystkie odczyty z niego wobec szyfru kryptograficznego obejmującego całą zawartość pliku np. za pomocą drzewa Merkle. Umożliwia to wydajne uwierzytelnienie pliku. Nie da się go ustawić ani zresetować za pomocą chattr(1), choć można go wyświetlić programem lsattr(1).

AUTOR
chattr został napisany przez Remy'ego Carda <Remy.Card@linux.org>. Obecnie opiekuje się nim Theodore Ts'o <tytso@alum.mit.edu>.

BŁĘDY I OGRANICZENIA
Atrybuty c, s i u nie są honorowane przez kod systemów plików ext2, ext3 i ext4 w obecnej implementacji jąder Linux z głównej gałęzi. Ustawienie atrybutów a i i nie ma wpływu na możliwość zapisu do już istniejących deskryptorów plików.

Opcja j jest przydatna tylko w systemach plików ext3 i ext4.

Opcja D jest przydatna tylko przy korzystaniu z jądra Linux w wersji 2.5.19 lub późniejszej.

DOSTĘPNOŚĆ
chattr jest częścią pakietu e2fsprogs i jest dostępny na stronie http://e2fsprogs.sourceforge.net.

ZOBACZ TAKŻE
lsattr(1), btrfs(5), ext4(5), mkfs.f2fs(8), xfs(5).

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.