.\" -*- coding: UTF-8 -*-
.\" Extended attributes manual page
.\"
.\" Copyright (C) 2000, 2002, 2007  Andreas Gruenbacher <agruen@suse.de>
.\" Copyright (C) 2001, 2002, 2004, 2007 Silicon Graphics, Inc.
.\" All rights reserved.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH xattr 7 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
xattr \- atrybuty rozszerzone
.SH OPIS
Atrybuty rozszerzone są parami nazwa:wartość związanymi na stałe z plikami i
katalogami, podobnie jak zmienne środowiskowe są powiązane z
procesami. Atrybut może być zdefiniowany lub niezdefiniowany. Jeśli jest
zdefiniowany, jego wartość może być pusta lub niepusta.
.PP
Atrybuty rozszerzone są rozszerzeniem zwykłych atrybutów, które są związane
z wszystkimi i\-węzłami w systemie (tj. danymi \fBstat\fP(2)). Są często używane
do zapewnienia dodatkowych funkcji w systemie plików \[em] przy użyciu
atrybutów rozszerzonych mogą być zaimplementowane na przykład dodatkowe
funkcje związanych z bezpieczeństwem, takie jak listy kontroli dostępu
(Access Control Lists \- ACLs).
.PP
Użytkownicy z prawem przeszukiwania do pliku lub katalogu mogą użyć
\fBlistxattr\fP(2) do pobrania listy nazw atrybutów zdefiniowanych dla danego
pliku lub katalogu.
.PP
Dostęp do atrybutów rozszerzonych następuje jako do obiektów
niepodzielnych. Odczytanie (\fBgetxattr\fP(2)) pobiera całą wartość atrybutu i
przechowuje go w buforze. Zapis (\fBsetxattr\fP(2)) zastępuje poprzednią
wartość nową wartością.
.PP
Przestrzeń zajęta przez atrybuty rozszerzone może liczyć się do przydziałów
dyskowych właściciela pliku i grupy pliku.
.SS "Przestrzenie nazw atrybutów rozszerzonych"
Nazwy atrybutów są łańcuchami ograniczonymi znakiem null. Nazwę atrybutu
określa się zawsze jako nazwę w pełni kwalifikowalną w postaci
\fIprzestrzeń\-nazw.atrybut\fP, np. \fIuser.mime_type\fP, \fItrusted.md5sum\fP,
\fIsystem.posix_acl_access\fP lub \fIsecurity.selinux\fP.
.PP
Mechanizm przestrzeni nazw służy do definiowania różnych klas atrybutów
rozszerzonych. Klasy te istnieją z wielu powodów m.in uprawnienia i
przywileje wymagane do zmiany atrybutów rozszerzonych mogą różnić się między
klasami.
.PP
Obecnie zdefiniowano (opisane poniżej) następujące klasy atrybutów
rozszerzonych: \fIbezpieczeństwa\fP \[en] \fIsecurity\fP, \fIsystemowe\fP \[en]
\fIsystem\fP, \fIzaufania\fP \[en] \fItrusted\fP i \fIużytkownika\fP \[en] \fIuser\fP. W
przyszłości mogą być dodane kolejne klasy.
.SS "Atrybuty rozszerzone bezpieczeństwa"
Przestrzeń nazw atrybutów rozszerzonych bezpieczeństwa jest wykorzystywana
przez moduły bezpieczeństwa jądra, takie jak Security Enhanced Linux oraz do
zaimplementowania przywilejów pliku (zob. \fBcapabilities\fP(7)). Uprawnienia
do odczytu i zapisu atrybutów bezpieczeństwa zależą od zasad
zaimplementowanych dla każdego z atrybutów przez moduł bezpieczeństwa. Jeśli
moduł bezpieczeństwa nie jest załadowany, to wszystkie procesy mają prawo
odczytu atrybutów rozszerzonych bezpieczeństwa, a prawo do zapisu jest
ograniczone do procesów z przywilejem \fBCAP_SYS_ADMIN\fP.
.SS "Systemowe atrybuty rozszerzone"
Systemowe atrybuty rozszerzone są używane przez jądro do przechowywania
obiektów systemowych takich jak listy kontroli dostępu (ACL). Uprawnienia do
odczytu i zapisu atrybutów systemowych zależą od zasad zaimplementowanych
dla każdego z atrybutów przez systemy plików w jądrze.
.SS "Atrybuty rozszerzone zaufania"
Atrybuty rozszerzone zaufania są widoczne i dostępne tylko dla procesów z
przywilejem \fBCAP_SYS_ADMIN\fP. Atrybuty w tej klasie służą do implementowania
mechanizmów w przestrzeni użytkownika (tj. poza jądrem), które przechowują
informacje w atrybutach rozszerzonych, do których zwykłe procesy nie powinny
mieć dostępu.
.SS "Atrybuty rozszerzone użytkownika"
Atrybuty rozszerzone użytkownika mogą być przypisane plikom i katalogom w
celu przechowywania dowolnych informacji, takich jak: typ mime, zestaw
znaków lub kodowanie pliku. Uprawnienia do dostępu do atrybutów użytkownika
są zdefiniowane w bitach uprawnień pliku: do pobrania atrybutu potrzebne
jest uprawnienie do odczytu, a do jego zmiany wymagane jest uprawnienie do
zapisu.
.PP
Bity uprawnień zwykłych plików i katalogów są interpretowane w odmienny
sposób od bitów uprawnień plików specjalnych i dowiązań symbolicznych. W
przypadku zwykłych plików i katalogów, bity uprawnień pliku definiują dostęp
do zawartości pliku, natomiast w przypadku plików specjalnych urządzeń
definiują dostęp do urządzenia opisanego plikiem specjalnym. Uprawnienia
pliku dowiązań symbolicznych nie są używane przy sprawdzaniu
dostępu. Różnice te, w przypadku katalogów i plików specjalnych dostępnych
do zapisu grupom lub wszystkim, mogłyby pozwolić użytkownikom na używanie
zasobów systemu plików w sposób niekontrolowany przez przydziały dyskowe.
.PP
Z tego powodu, atrybuty rozszerzone użytkownika są dozwolone tylko w
przypadku zwykłych plików i katalogów, a dostęp do atrybutów rozszerzonych
użytkownika jest ograniczony do właściciela oraz, w przypadku katalogów z
ustawionym bitem lepkości, użytkownika z odpowiednim przywilejem (opis bitu
lepkości znajduje się w podręczniku \fBchmod\fP(1)).
.SS "Różnice wynikające z systemów plików"
Jądro oraz system plików może nałożyć limit maksymalnej liczby oraz rozmiaru
atrybutów rozszerzonych jakie można przypisać do pliku. Limitami
wynikającymi z linuksowego wirtualnego systemu plików (VFS) są: w przypadku
nazw atrybutów \[en] 255 bajtów, w przypadku wartości \[en] 64\ kB. Rozmiar
zwracanej listy nazw atrybutów jest  natomiast ograniczony do 64\ kB
(zob. USTERKI w \fBlistxattr\fP(2)).
.PP
Część systemów plików, takich jak Reiserfs (i historycznie ext2 oraz ext3)
wymaga zamontowania systemu plików z opcją montowania \fBuser_xattr\fP, aby móc
korzystać z atrybutów rozszerzonych przez użytkownika.
.PP
W aktualnych implementacjach systemów plików ext2, ext3 i ext4 całkowita
przestrzeń używana przez nazwy i wartości wszystkich atrybutów rozszerzonych
pliku musi zmieścić się w pojedynczym bloku systemu plików (jest to wartość
1024, 2048 lub 4096 bajtów, w zależności od rozmiaru bloku podanego w
momencie tworzenia systemu plików).
.PP
W implementacjach systemów plików Btrfs, XFS i Reiserfs nie istnieje
praktyczny limit liczby atrybutów rozszerzonych przypisanych do pliku, a
algorytmy używane do przechowywania informacji o atrybutach rozszerzonych na
dysku są skalowalne.
.PP
W implementacjach systemów plików JFS, XFS i Reiserfs, ograniczenie bajtów
użytych w wartości atrybutów rozszerzonych, wynika wyłącznie z limitu
narzuconego przez VFS.
.PP
W implementacji systemu plików Btrfs, całkowity rozmiar w bajtach używany
przez nazwę, wartość i bajty narzutu implementacji jest ograniczony do
wartości rozmiaru węzła \fInodesize\fP systemu plików (domyślnie 16\ kB).
.SH STANDARDY
Atrybuty rozszerzone nie są określone normą POSIX.1, lecz niektóre inne
systemy (np. systemy BSD i Solaris) udostępniają podobną funkcjonalność.
.SH UWAGI
Ze względu na to, że systemy plików w których przechowywane są atrybuty
systemowe, mogą być również używane na architekturach z różną kolejnością
bajtów oraz z różnym rozmiarem słowa maszynowego, należy zwrócić uwagę, aby
przechowywać wartości atrybutów w formacie niezależnym od architektury.
.PP
.\" .SH AUTHORS
.\" Andreas Gruenbacher,
.\" .RI < a.gruenbacher@bestbits.at >
.\" and the SGI XFS development team,
.\" .RI < linux-xfs@oss.sgi.com >.
Niniejszy podręcznik nosił wcześniej nazwę \fBattr\fP(5).
.SH "ZOBACZ TAKŻE"
\fBattr\fP(1), \fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBgetxattr\fP(2),
\fBioctl_iflags\fP(2), \fBlistxattr\fP(2), \fBremovexattr\fP(2), \fBsetxattr\fP(2),
\fBacl\fP(5), \fBcapabilities\fP(7), \fBselinux\fP(8)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
