chattr - zmienia atrybuty plików w linuksowym systemie plików
chattr [
-RVf ] [
-v wersja ] [
-p
projekt ] [
tryb ]
pliki...
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.
- -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.
- 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 .
- 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ą ,
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 , 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ą
, 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ą ,
choć można go wyświetlić programem
lsattr(1).
chattr został napisany przez Remy'ego Carda
<
[email protected]>. Obecnie opiekuje się nim Theodore Ts'o
<
[email protected]>.
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.
chattr jest częścią pakietu e2fsprogs i jest
dostępny na stronie
http://e2fsprogs.sourceforge.net.
lsattr(1),
btrfs(5),
ext4(5),
mkfs.f2fs(8),
xfs(5).
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Przemek Borys <
[email protected]>, Andrzej Krzysztofowicz
<
[email protected]> i Michał Kułach
<
[email protected]>
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 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]