Możliwości zdefiniowane w standardzie POSIX (POSIX Capabilities)
1.
CAP_CHOWN
Listing 1.1: CAP_CHOWN |
CAP_CHOWN
W systemach ze zdefiniowaną opcją [_POSIX_CHOWN_RESTRICTED] likwiduje
ograniczenie zmiany właściciela oraz grupy dla pliku.
|
2.
CAP_DAC_OVERRIDE
Listing 2.1: CAP_DAC_OVERRIDE |
CAP_DAC_OVERRIDE
Likwiduje całkowicie dostęp DAC i jeśli zdefiniowane jest [_POSIX_ALC],
to również likwiduje klauzulę ACL dotyczącą prawa wykonywania.
Nie dotyczy praw DAC objętych CAP_LINUX_IMMUTABLE.
|
3.
CAP_DAC_READ_SEARCH
Listing 3.1: CAP_DAC_READ_SEARCH |
CAP_DAC_READ_SEARCH
Likwiduje wszystkie ograniczenia DAC, dotyczące odczytu oraz
wyszukiwania plików i katalogów, włączając w to ograniczenia ACL, o ile
[_POSIX_ACLE] jest zdefiniowane. Z pominięciem dostępu DAC objętego
opcją CAP_LINUX_IMMUTABLE.
|
4.
CAP_FOWNER
Listing 4.1: CAP_FOWNER |
CAP_FOWNER
Likwiduje wszystkie ograniczenia dla operacji na plikach, dla których
ID właściciela pliku musi być równe ID użytkownika, chyba że możliwe
jest zastosowanie CAP_FSETID. Nie likwiduje ograniczeń MAC oraz DAC.
|
5.
CAP_FSETID
Listing 5.1: CAP_FSETID |
CAP_FSETID
Likwiduje następujące ograniczenia: efektywne ID użytkownika powinno
zgadzać się z ID właściciela pliku, podczas ustawiania dla tego pliku
bitów S_ISUID oraz S_ISGID; podczas ustawiania bitu S_ISGID dla pliku,
efektywne ID grupy (lub jedno z dodatkowych ID) powinno odpowiadać ID
właściciela pliku; zerowanie bitów S_ISUID oraz S_ISGID po prawidłowym
zakończeniu chown(2) (nie jest zaimplementowane).
|
6.
CAP_FS_MASK
Listing 6.1: CAP_FS_MASK |
CAP_FS_MASK
Używane do określenia czy używać starego suser() czy fsuser().
|
7.
CAP_KILL
Listing 7.1: CAP_KILL |
CAP_KILL
Likwiduje ograniczenie zgodnie z którym prawdziwe lub efektywne ID
użytkownika procesu wysyłającego sygnał, musi być zgodne z prawdziwym
lub efektywnym ID użytkownika procesu, do którego sygnał jest wysyłany.
|
8.
CAP_SETGID
Listing 8.1: CAP_SETGID |
CAP_SETGID
Pozwala obsługiwać setgid(2);
Pozwala na wywoływanie setgroups(2);
Pozwala na zmianę gid dla gniazda przy przekazywaniu danych uwierzytelniających.
|
9.
CAP_SETUID
Listing 9.1: CAP_SETUID |
CAP_SETUID
Pozwala na zmianę set*uid(2) (włącznie z fsuid);
Pozwala na zmianę pid dla gniazda przy przekazywaniu danych
uwierzytelniających.
|
10.
CAP_SETPCAP
Listing 10.1: CAP_SETPCAP |
CAP_SETPCAP
Przekazanie możliwości z własnego zbioru uprawnień do dowolnego pid.
Usunięcie z dowolnego pid możliwości z własnego zbioru uprawnień.
|
11.
CAP_LINUX_IMMUTABLE
Listing 11.1: CAP_LINUX_IMMUTABLE |
CAP_LINUX_IMMUTABLE
Pozwala na modyfikację atrybutów S_IMMUTABLE i S_APPEND dla pliku.
|
12.
CAP_NET_BIND_SERVICE
Listing 12.1: CAP_NET_BIND_SERVICE |
CAP_NET_BIND_SERVICE
Pozwala na związanie gniazd TCP/UDP z portem niższym niż 1024;
Pozwala na związanie ATM VCI z portem niższym niż 32.
|
13.
CAP_NET_BROADCAST
Listing 13.1: CAP_NET_BROADCAST |
CAP_NET_BROADCAST
Pozwala na broadcasting i nasłuchiwanie multicast.
|
14.
CAP_NET_ADMIN
Listing 14.1: CAP_NET_ADMIN |
CAP_NET_ADMIN
Pozwala na konfigurację interfejsu;
Pozwala na zarządzanie kontami, maskaradą i firewallem;
Pozwala na ustawianie opcji debug dla gniazd;
Pozwala na modyfikacje tabeli routingu;
Pozwala na przypisanie procesowi/grupie procesów prawa własności do gniazd;
Pozwala na przywiązanie do dowolnego adresu dla przezroczystego proxy;
Pozwala na ustawianie TOS ([ang.] type of service);
Pozwala na ustawianie trybu promiscuous;
Pozwala na czyszczenie statystyk sterownika;
Pozwala na multicasting;
Pozwala na odczyt/zapis, specyficznych dla urządzenia, rejestrów;
Pozwala na aktywację gniazd kontrolnych ATM control.
|
15.
CAP_NET_RAW
Listing 15.1: CAP_NET_RAW |
CAP_NET_RAW
Pozwala na używanie gniazd typu RAW;
Pozwala na używanie gniazd typu PACKET.
|
16.
CAP_IPC_LOCK
Listing 16.1: CAP_IPC_LOCK |
CAP_IPC_LOCK
Pozwala na tworzenie blokady na segmentach pamięci współdzielonej;
Pozwala na wykonanie mlock/mlockall (nie ma to nic wspólnego z IPC).
|
17.
CAP_IPC_OWNER
Listing 17.1: CAP_IPC_OWNER |
CAP_IPC_OWNER
Likwiduje sprawdzanie praw własności dla IPC.
|
18.
CAP_SYS_MODULE
Listing 18.1: CAP_SYS_MODULE |
CAP_SYS_MODULE
Umożliwia ładowanie i usuwanie modułów oraz modyfikację kernela bez ograniczeń;
Umożliwia zmiany cap_bset.
|
19.
CAP_SYS_RAWIO
Listing 19.1: CAP_SYS_RAWIO |
CAP_SYS_RAWIO
Pozwala na dostęp ioperm/iopl;
Pozwala na wysyłanie komunikatów USB do urządzeń przez /proc/bus/usb.
|
20.
CAP_SYS_CHROOT
Listing 20.1: CAP_SYS_CHROOT |
CAP_SYS_CHROOT
Pozwala na korzystanie z chroot().
|
21.
CAP_SYS_PTRACE
Listing 21.1: CAP_SYS_PTRACE |
CAP_SYS_PTRACE
Pozwala na wywołanie ptrace() do dowolnego procesu.
|
22.
CAP_SYS_PACCT
Listing 22.1: CAP_SYS_PACCT |
CAP_SYS_PACCT
Pozwala na konfigurację zarządzania procesami.
|
23.
CAP_SYS_ADMIN
Listing 23.1: CAP_SYS_ADMIN |
CAP_SYS_ADMIN
Pozwala na konfigurację specjalnej kombinacji klawiszy ([przyp. tłum.] np. Ctrl-Alt-Del, SysRq);
Pozwala na zarządzaniem urządzeniem random;
Pozwala na monitorowanie i konfigurowanie limitu miejsca na dysku;
Pozwala na konfigurację logowaniem kernela (zachowaniem printk);
Pozwala na ustawianie nazwy domeny;
Pozwala na ustawianie nazwy hosta;
Pozwala na wywoływanie bdflush();
Pozwala na mount() i umount(), ustanownienie nowego połączenia smb;
Pozwala na niektóre wywołania ioctl dotyczące autofs;
Pozwala na nfsservctl; Pozwala na VM86_REQUEST_IRQ;
Pozwala na odczytanie i zapisanie konfiguracji pci na architekturze alpha;
Pozwala na irix_prctl na architekturze mips (setstacksize);
Pozwala na opróżnienie całej pamięci cache na architekturze m68k (sys_cacheflush);
Pozwala usuwać semafory; Używane zamiast CAP_CHOWN dla "chown" przy IPC dla kolejek wiadomości, semaforów i pamięci dzielonej;
Pozwala na blokowanie/zwalnianie segmentów pamięci współdzielonej;
Pozwala na włączanie/wyłączanie swapu;
Pozwala na na zmianę pid dla gniazda przy przekazywani danych uwierzytelniających;
Pozwala na ustawianie opcji wyprzedzania odczytu (ang. readahead) i na opróżnianie buforów dla urządzeń blokowych;
Pozwala na ustawianie geometrii w stacji dysków;
Pozwala na włączanie/wyłączanie DMA dla sterownika xd;
Pozwala na zarządzanie urządzeniami md (w większości to co powyżej, plus kilka dodatkowych ioctl);
Pozwala na tuning sterownika ide;
Pozwala na dostęp do urządzenia nvram;
Pozwala na zarządzanie apm_bios, urządzeniami szeregowymi i bttv (TV);
Pozwala na wykonywanie komend producenta dla sterownika isdn CAPI;
Pozwala na czytanie nieustandardyzowanych fragmentów z przestrzeni konfiguracji PCI;
Pozwala na wywołania ioctl typu DDI debug dla sterownika sbpcd;
Pozwala na konfigurację portów szeregowych;
Pozwala na wysyłanie nieprzetworzonych (ang. raw) komend qic117;
Pozwala na włączanie/wyłączanie markowanego kolejkowania dla kontrolerów SCSI i wysyłanie dowolnych komend SCSI;
Pozwala na ustawienie klucza szyfrującego na systemie plików loopback.
|
24.
CAP_SYS_BOOT
Listing 24.1: CAP_SYS_BOOT |
CAP_SYS_BOOT
Pozwala na wywoływanie reboot().
|
25.
CAP_SYS_NICE
Listing 25.1: CAP_SYS_NICE |
CAP_SYS_NICE
Pozwala na podwyższanie priorytetu i ustawianie priorytetu dla innych
procesów (inny UID);
Pozwala na wykorzystanie FIFO i planowania algorytmem roundrobin (w
czasie rzeczywistym) dla własnych procesów oraz na ustawiania algorytmu
szeregującego używanego przez inny proces.
|
26.
CAP_SYS_RESOURCE
Listing 26.1: CAP_SYS_RESOURCE |
CAP_SYS_RESOURCE
Likwidacja limitu dla zasobów. Ustawianie ograniczenia dla zasobów;
Likiwdacja limitu quota;
Ignorowanie zarezerwowanej przestrzeni na systemie plików ext2;
Modyfikacja trybu pracy dziennika dla systemu plików ext3 (wykorzystanie
zasobów dziennika); UWAGA: ext2 uwzględnia fsuid podczas sprawdzania czy
zasoby są ignorowane, więc do zmian można wykorzystać fsuid;
Likwidacja ograniczenia rozmiaru na kolejki wiadomości IPC;
Pozwala na częstsze niż 64hz generowanie przerwań przez zegar czasu rzeczywistego;
Likwidacja ograniczenia na maks. liczbę konsol przy przydzielaniu kolejnej;
Likwidacja ograniczenia na maks. liczbę map klawiatury.
|
27.
CAP_SYS_TIME
Listing 27.1: CAP_SYS_TIME |
CAP_SYS_TIME
Pozwala na manipulacje zegarem systemowym;
Pozwala na wywołanie irix_stime na architekturze mips;
Pozwala na ustawienie zegara czasu rzeczywistego.
|
28.
CAP_SYS_TTY_CONFIG
Listing 28.1: CAP_SYS_TTY_CONFIG |
CAP_SYS_TTY_CONFIG
Pozwala na konfigurację urządzeń tty; Pozwala na wywołanie vhangup()
dla tty.
|
29.
CAP_MKNOD
Listing 29.1: CAP_MKNOD |
CAP_MKNOD
Pozwala na wykorzystanie uprzywilejowanych ustawień mknod().
|
30.
CAP_LEASE
Listing 30.1: CAP_LEASE |
CAP_LEASE
Pozwala na wynajmowanie plików ([ang.] file lease).
|
|
|
Zaktualizowano 22 stycznia 2005 |
Podsumowanie:
Możliwości zdefiniowane w POSIX rozdzielają uprawnienia użytkownika root na
zbiory odrębnych przywilejów.
|
solar
Autor
Adam Mondl
Współautor
Paweł Kwiatkowski
|
|
Donate to support our development efforts.
|
|
|