Linux Professional Institute Learning Logo.
Przejdź do głównej treści
  • Strona Główna
    • Wszystkie Zasoby
    • Materiały Dydaktyczne LPI
    • Zostań Współautorem
    • Partnerzy Wydawniczy
    • Zostań Partnerem Wydawniczym
    • FAQ
    • Współautorzy
    • Harmonogram
    • Kontakt
  • LPI.org
5.3 Lekcja 1
Temat 1: Społeczność Linuxa i kariera w środowisku Open Source
1.1 Ewolucja Linuksa i popularne systemy operacyjne
  • Wkrótce...
1.2 Najważniejsze aplikacje Open Source
  • 1.2 Lekcja 1
1.3 Oprogramowanie i licencje typu open source
  • 1.3 Lekcja 1
1.4 Umiejętności ICT i praca w systemie Linux
  • 1.4 Lekcja 1
Temat 2: Poruszanie się po systemie Linux
2.1 Podstawy wiersza poleceń
  • 2.1 Lekcja 1
2.2 Korzystanie z wiersza poleceń w celu uzyskania pomocy
  • 2.2 Lekcja 1
2.3 Korzystanie z katalogów i listy plików
  • 2.3 Lekcja 1
  • 2.3 Lekcja 2
2.4 Tworzenie, przenoszenie i usuwanie plików
  • 2.4 Lekcja 1
Temat 3: Siła wiersza poleceń
3.1 Archiwizacja plików za pomocą wiersza poleceń
  • 3.1 Lekcja 1
3.2 Wyszukiwanie i wyodrębnianie danych z plików
  • 3.2 Lekcja 1
  • 3.2 Lekcja 2
3.3 Przekształcanie poleceń w skrypt
  • 3.3 Lekcja 1
  • 3.3 Lekcja 2
Temat 4: System operacyjny Linux
4.1 Wybór systemu operacyjnego
  • Wkrótce...
4.2 Zrozumienie sprzętu komputerowego
  • 4.2 Lekcja 1
4.3 Gdzie są przechowywane dane
  • 4.3 Lekcja 1
  • 4.3 Lekcja 2
4.4 Komputer w sieci
  • 4.4 Lekcja 1
Temat 5: Bezpieczeństwo i uprawnienia do plików
5.1 Podstawy bezpieczeństwa i identyfikacja typów użytkowników
  • 5.1 Lekcja 1
5.2 Tworzenie użytkowników i grup
  • 5.2 Lekcja 1
5.3 Zarządzanie uprawnieniami do plików i prawami własności plików
  • 5.3 Lekcja 1
5.4 Katalogi i pliki specjalne
  • 5.4 Lekcja 1
How to get certified
  1. Temat 5: Bezpieczeństwo i uprawnienia do plików
  2. 5.3 Zarządzanie uprawnieniami do plików i prawami własności plików
  3. 5.3 Lekcja 1

5.3 Lekcja 1

Certyfikat:

Linux Essentials

Wersja:

1.6

Temat:

5 Bezpieczeństwo i uprawnienia do plików

Cel nauki:

5.3 Zarządzanie uprawnieniami do plików i prawami własności plików

Lekcja:

1 z 1

Wstęp

Linux, jako system wielu użytkowników musi wiedzieć, kto jest właścicielem każdego pliku i czy użytkownik może wykonywać działania na określonych plikach, czy nie może. Tylko w ten sposób można zagwarantować prywatność użytkowników, którzy chcą, aby zawartość ich plików była traktowana jako poufna. Jednocześnie umożliwia to współpracę, poprzez udostępnienie określonych plików innym użytkownikom.

Odbywa się to za pośrednictwem trzypoziomowego systemu autoryzacji. Każdy plik na dysku jest własnością użytkownika i grupy użytkowników oraz ma trzy zestawy uprawnień: jeden dla właściciela tego pliku, jeden dla grupy będącej właścicielem pliku i jeden dla wszystkich innych użytkowników. W tej lekcji dowiesz się, jak sprawdzać uprawnienia do pliku i jak nimi zarządzać.

Zapytanie o informacje o plikach i katalogach

Polecenie ls służy do wyświetlania zawartości dowolnego katalogu. W podstawowej formie otrzymujesz tylko nazwy plików i katalogów:

$ ls
Another_Directory  picture.jpg  text.txt

Jednakże jest dostepnych wiele bardziej szczegółowych informacji o każdym pliku, w tym typ, rozmiar, dane o właścicielu i inne. Aby zobaczyć te informacje, użyj polecenia ls z parametrem -l dla uzyskania “długiej listy” (“long form”):

$ ls -l
total 536
drwxrwxr-x 2 carol carol   4096 Dec 10 15:57 Another_Directory
-rw------- 1 carol carol 539663 Dec 10 10:43 picture.jpg
-rw-rw-r-- 1 carol carol   1881 Dec 10 15:57 text.txt

Każda kolumna powyższego wyniku posiada następujące znaczenie:

  • Pierwsza kolumna na liście pokazuje typ pliku i prawa dostępu, na przykład drwxrwxr-x:

    • Pierwsza litera d wskazuje typ pliku (np. plik, katalog, link).

    • Następne trzy znaki, rwx, wskazują uprawnienia dla właściciela pliku, określanego również jako lub u (user).

    • Następne trzy znaki, rwx, wskazują uprawnienia dla grupy, będącej właścicielem pliku, nazywanej również jako g (group).

    • Ostatnie trzy znaki, r-x, wskazują uprawnienia dla pozostałych osób, znane również jako inne lub o (other).

  • Druga kolumna pokazuje liczbę twardych linków kierujących do tego pliku. W przypadku katalogu oznacza to liczbę podkatalogów oraz łącze do samego siebie (.) i do katalogu nadrzędnego (..).

  • Trzecia oraz czwarta kolumna pokazują właścicieli lub użytkowników i grupy będące właścicielami pliku.

  • Piąta kolumna pokazuje rozmiar pliku w bajtach.

  • Szósta kolumna pokazuje dokładną datę i godzinę lub znacznik czasu, kiedy plik był ostatnio modyfikowany.

  • Siódma oraz ostatnia kolumna pokazują nazwę pliku.

Jeśli chcesz zobaczyć rozmiary plików w formacie “czytelnym dla człowieka”, dodaj parametr -h do polecenia ls. Pliki o rozmiarze mniejszym niż jeden kilobajt są wyświetlane w bajtach. Dla plików większych niż jeden kilobajt, ale mniejszych niż jeden megabajt, po rozmiarze zostanie dodana litera K, wskazująca, że ​​rozmiar jest wyrażony w kilobajtach. To samo dotyczy rozmiarów plików w zakresie megabajtów (M) i gigabajtów (G):

$ ls -lh
total 1,2G
drwxrwxr-x 2 carol carol 4,0K Dec 10 17:59 Another_Directory
----r--r-- 1 carol carol    0 Dec 11 10:55 foo.bar
-rw-rw-r-- 1 carol carol 1,2G Dec 20 18:22 HugeFile.zip
-rw------- 1 carol carol 528K Dec 10 10:43 picture.jpg
---xr-xr-x 1 carol carol   33 Dec 11 10:36 test.sh
-rwxr--r-- 1 carol carol 1,9K Dec 20 18:13 text.txt
-rw-rw-r-- 1 carol carol 2,6M Dec 11 22:14 Zipped.zip

Aby wyświetlić tylko informacje o określonym zestawie plików, dodaj nazwy tych plików do polecenia ls:

$ ls -lh HugeFile.zip test.sh
total 1,2G
-rw-rw-r-- 1 carol carol 1,2G Dec 20 18:22 HugeFile.zip
---xr-xr-x 1 carol carol   33 Dec 11 10:36 test.sh

A co z katalogami?

Jeśli spróbujesz zapytać o informacje o katalogu za pomocą polecenia ls -l, wówczas wyświetli się lista zawartości katalogu:

$ ls -l Another_Directory/
total 0
-rw-r--r-- 1 carol carol 0 Dec 10 17:59 another_file.txt

Aby tego uniknąć i uzyskać informacje dotyczące samego katalogu, dodaj parametr -d (directory) do polecenia ls:

$ ls -l -d Another_Directory/
drwxrwxr-x 2 carol carol 4096 Dec 10 17:59 Another_Directory/

Zobacz pliki ukryte

Lista katalogów, którą uzyskaliśmy wcześniej za pomocą ls -l jest niekompletna:

$ ls -l
total 544
drwxrwxr-x 2 carol carol   4096 Dec 10 17:59 Another_Directory
-rw------- 1 carol carol 539663 Dec 10 10:43 picture.jpg
-rw-rw-r-- 1 carol carol   1881 Dec 10 15:57 text.txt

W tym katalogu znajdują się trzy inne pliki, ale są one ukryte. W systemie Linux pliki z nazwami zaczynającymi się od kropki (.) są automatycznie ukrywane. Aby je zobaczyć, musimy dodać parametr -a (all) po poleceniu ls:

$ ls -l -a
total 544
drwxrwxr-x 3 carol carol   4096 Dec 10 16:01 .
drwxrwxr-x 4 carol carol   4096 Dec 10 15:56 ..
drwxrwxr-x 2 carol carol   4096 Dec 10 17:59 Another_Directory
-rw------- 1 carol carol 539663 Dec 10 10:43 picture.jpg
-rw-rw-r-- 1 carol carol   1881 Dec 10 15:57 text.txt
-rw-r--r-- 1 carol carol      0 Dec 10 16:01 .thisIsHidden

Plik .thisIsHidden jest ukryty, ponieważ jego nazwa zaczyna się od kropki ..

Katalogi . oraz .. są katalogami specjalnymi. Kropka . jest wskaźnikiem do bieżącego katalogu, podczas gdy dwukropek .. jest wskaźnikiem do katalogu nadrzędnego (katalogu, który zawiera katalog bieżący). W systemie Linux każdy katalog zawiera przynajmniej te dwa katalogi specjalne.

Tip

Możesz łączyć wiele parametrów dla polecenia ls (i wielu innych poleceń Linuxa). Na przykład ls -l -a można zapisać jako ls -la.

Zapoznanie z typami plików

Wspomnieliśmy wcześniej, że pierwsza litera w każdym wierszu polecenia ls -l opisuje typ pliku. Trzy najpopularniejsze typy plików to:

- (zwykły plik)

Plik może zawierać dane dowolnego typu. Pliki można modyfikować, przenosić, kopiować i usuwać.

d (katalog)

Katalog zawiera inne pliki lub katalogi i pomaga zorganizować system plików. Z technicznego punktu widzenia katalogi są specjalnym typem plików.

l (miękki link)

Ten “plik” jest wskaźnikiem do innego pliku lub katalogu w dowolnym miejscu w systemie plików Linuxa.

Oprócz tego istnieją trzy inne typy plików, o których powinieneś przynajmniej wiedzieć, ale które wykraczają poza zakres tej lekcji:

b (urządzenie blokowe)

Ten plik reprezentuje urządzenie wirtualne lub fizyczne, zwykle dyski twarde lub inne rodzaje urządzeń magazynujących. Na przykład pierwszy dysk twardy w systemie może być reprezentowany przez /dev/sda.

c (urządzenie znakowe)

Ten plik oznacza urządzenie wirtualne lub fizyczne. Terminale (jak np. główny terminal na /dev/ttyS0) i porty szeregowe są typowymi przykładami urządzeń znakowych.

s (gniazdo)

Gniazda działają jak “kanały”, które przekazują informacje między dwoma programami.

Warning

Nie zmieniaj żadnych uprawnień na urządzeniach blokowych, urządzeniach znakowych ani gniazdach, chyba że wiesz, co robisz. W przeciwnym razie system może przestać działać!

Zrozumienie uprawnień

W danych wyjściowych polecenia ls -l, uprawnienia do plików są wyświetlane bezpośrednio po typie pliku jako trzy grupy po trzy znaki każda, w kolejności r, w oraz x. Należy pamiętać, że myślnik - oznacza brak konkretnego pozwolenia.

Uprawnienia do plików

r

Oznacza read (czytaj) i ma wartość ósemkową 4 (nie martw się, wkrótce omówimy wartości ósemkowe). Oznacza to uprawnienie do otwierania pliku i odczytywania jego zawartości.

w

Oznacza write (pisz) i ma wartość ósemkową 2. Oznacza to uprawnienie do edycji lub usuwania pliku.

x

Oznacza execute (wykonaj) i ma wartość ósemkową 1. Oznacza to, że plik można uruchomić jako plik wykonywalny lub skrypt.

Na przykład plik z uprawnieniami rw- może być odczytywany i zapisywany, ale nie może być wykonany.

Uprawnienia do katalogów

r

Oznacza read (czytaj) i ma wartość ósemkową 4. Oznacza to pozwolenie do otwierania pliku i odczytywania jego zawartości, na przykład nazw plików. Nie oznacza to jednak pozwolenia na samodzielne odczytywanie plików.

w

Oznacza write (pisz) i ma wartość ósemkową 2. Oznacza to upoważnienie do tworzenia lub usuwania plików w katalogu lub do zmiany ich nazw, praw i właścicieli. Jeśli użytkownik ma uprawnienia do zapisu w katalogu, może zmienić uprawnienia dowolnego pliku w katalogu, nawet jeśli nie ma uprawnień do pliku lub jeśli właścicielem pliku jest inny użytkownik.

x

Oznacza execute (wykonaj) i ma wartość ósemkową 1. Oznacza to pozwolenie na wejście do katalogu, ale nie do wyświetlania listy jego plików (do tego potrzebne jest uprawnienie r).

Ostatni fragment dotyczący katalogów może wydawać się nieco zagmatwany. Wyobraźmy sobie na przykład, że istnieje katalog o nazwie Another_Directory z następującymi uprawnieniami:

$ ls -ld Another_Directory/
d--xr-xr-x 2 carol carol 4,0K Dec 20 18:46 Another_Directory

Ponadto załóżmy, że w tym katalogu znajduje się skrypt powłoki o nazwie hello.sh z następującymi uprawnieniami:

-rwxr-xr-x 1 carol carol 33 Dec 20 18:46 hello.sh

Jeśli jesteś użytkownikiem carol i spróbujesz wyświetlić zawartość katalogu Another_Directory, wówczas otrzymasz komunikat o błędzie, ponieważ Twój użytkownik nie ma uprawnień do odczytu tego katalogu:

$ ls -l Another_Directory/
ls: cannot open directory 'Another_Directory/': Permission denied

Jednak użytkownik carol posiada uprawnienia do wykonywania, co oznacza, że ​​może wejść do katalogu. Dlatego użytkownik carol może uzyskać dostęp do plików w katalogu, pod warunkiem, że ma odpowiednie uprawnienia do odpowiedniego pliku. W tym przykładzie użytkownik ma pełne prawa do skryptu hello.sh, więc może wykonać skrypt, nawet jeśli nie może odczytać zawartości katalogu, w którym się on znajduje. Potrzebna jest tylko pełna nazwa pliku.

$ sh Another_Directory/hello.sh
Hello LPI World!

Jak wspomniano wcześniej, uprawnienia są określane w następującej kolejności: najpierw dla właściciela pliku, następnie dla grupy będącej właścicielem, a następnie dla innych użytkowników. Za każdym razem, gdy ktoś próbuje wykonać akcję na pliku, prawa są sprawdzane zawsze w ten sam sposób. System najpierw sprawdza, czy plik jest właścicielem bieżącego użytkownika, a jeśli tak, to stosowany jest tylko pierwszy zestaw uprawnień. W przeciwnym razie system sprawdza, czy bieżący użytkownik należy do grupy, do której należy plik. W takim przypadku stosuje tylko drugi zestaw uprawnień. W każdym innym przypadku system zastosuje trzeci zestaw uprawnień. Oznacza to, że jeśli bieżący użytkownik jest właścicielem pliku, obowiązują tylko uprawnienia właściciela, nawet jeśli uprawnienia grupy lub inne mają większe uprawnienia niż uprawnienia właściciela.

Modyfikowanie uprawnień do plików

Polecenie chmod służy do modyfikowania uprawnień do pliku i przyjmuje co najmniej dwa parametry: pierwszy opisuje, które uprawnienia należy zmienić, a drugi wskazuje plik lub katalog, w którym dokonywana jest zmiana. Jednak uprawnienia do zmiany można opisać na dwa różne sposoby lub “moduły”.

Pierwszy z nich, zwany trybem symbolicznym (symbolic mode), oferuje precyzyjną kontrolę, która pozwala dodawać lub cofać pojedyncze uprawnienia bez modyfikowania innych w zestawie. Drugi tryb, zwany trybem numerycznym (numeric mode) jest łatwiejszy do zapamiętania i szybszy w użyciu, jeśli chcesz ustawić wszystkie wartości uprawnień od razu.

Oba tryby prowadzą do tego samego wyniku końcowego. Na przykład polecenia:

$ chmod ug+rw-x,o-rwx text.txt

oraz

$ chmod 660 text.txt

utworzą plik z tymi samymi uprawnieniami:

-rw-rw---- 1 carol carol  765 Dec 20 21:25 text.txt

Przyjrzyjmy się teraz bliżej tym dwóm trybom.

Tryb symboliczny (Symbolic Mode)

Opisując, które uprawnienia należy zmienić w trybie symbolicznym, kilka pierwszych znaków wskazuje, które uprawnienia zmienisz: te dla użytkownika (u, user), dla grupy (g, group), dla innych (o, others) i / lub dla wszystkich trzech razem (a, all).

Następnie musisz określić, co polecenie ma wykonać: możesz udzielić pozwolenia (+), cofnąć pozwolenie (-) lub ustawić pozwolenie na określoną wartość (=).

Na koniec określasz, na które uprawnienia chcesz mieć wpływ: odczyt (r, read), zapis (w, write) lub wykonanie (x, execute).

Na przykład wyobraź sobie, że mamy plik o nazwie text.txt z następującym zestawem uprawnień:

$ ls -l text.txt
-rw-r--r-- 1 carol carol 765 Dec 20 21:25 text.txt

Jeśli chcesz przyznać uprawnienia do zapisu członkom grupy będącej właścicielem pliku, użyj parametru g+w. Będzie łatwiej, jeśli pomyślisz o tym w ten sposób: “Dla grupy (g) nadaj (+) uprawnienia do zapisu (w)”. Tak więc polecenie wyglądałoby tak:

$ chmod g+w text.txt

Sprawdźmy wynik za pomocą polecenia ls:

$ ls -l text.txt
-rw-rw-r-- 1 carol carol 765 Dec 20 21:25 text.txt

Jeśli chcesz usunąć uprawnienia do odczytu dla właściciela tego samego pliku, pomyśl o tym jako: “Dla użytkownika (u) usuń (-), uprawnienia do odczytu (r)”. Tak więc polecenie z parametrem u-r wyglądałoby tak:

$ chmod u-r text.txt
$ ls -l text.txt
--w-rw-r-- 1 carol carol 765 Dec 20 21:25 text.txt

Co powinniśmy zrobić, jeśli chcemy ustawić dla wszystkich uprawnienia dokładnie na rw-? Pomyśl o tym jako: “Dla wszystkich (a), ustaw dokładnie (=), uprawnienia do odczytu (r), uprawnienia do zapisu (w) i brak uprawnień do wykonania (-)”. Tak więc polecenie wyglądałoby tak:

$ chmod a=rw- text.txt
$ ls -l text.txt
-rw-rw-rw- 1 carol carol 765 Dec 20 21:25 text.txt

Oczywiście istnieje możliwość jednoczesnej modyfikacji wielu uprawnień. W takim przypadku oddziel je przecinkiem (,):

$ chmod u+rwx,g-x text.txt
$ ls -lh text.txt
-rwxrw-rw- 1 carol carol 765 Dec 20 21:25 text.txt

Powyższy przykład można odczytać jako: “Dla użytkownika (u), przyznaj (+) uprawnienia do odczytu zapisu i wykonania (rwx), dla grupy (g) usuń (-), uprawnienia do wykonania (x)”.

Gdy polecenie chmod jest uruchamiane w katalogu, wówczas modyfikuje uprawnienia tylko tego katalogu. Jednakże polecenie chmod ma tryb rekurencyjny, przydatny, gdy chcesz zmienić uprawnienia do “wszystkich plików w katalogu i jego podkatalogach”. Aby to zrobić, dodaj parametr -R po nazwie polecenia i przed uprawnieniami do zmiany, na przykład:

$ chmod -R u+rwx Another_Directory/

To polecenie można odczytać w następujący sposób: “Rekurencyjnie (-R) dla użytkownika (u) nadaj (+) uprawnienia do odczytu, zapisu i wykonania (rwx)”.

Warning

Bądź ostrożny i zastanów się dwa razy przed użyciem przełącznika -R, ponieważ łatwo jest zmienić uprawnienia do plików i katalogów, których nie chcesz zmieniać, szczególnie w przypadku katalogów z dużą liczbą plików i podkatalogów.

Tryb numeryczny (Numeric Mode)

W trybie numerycznym uprawnienia są określane jako trzycyfrowa wartość liczbowa w notacji ósemkowej (system liczb o podstawie 8).

Każde zezwolenie ma odpowiednią wartość. Wartości te są określane w następującej kolejności: najpierw odczyt (r) jest reprezentowany przez cyfrę 4, potem zapis (w) jest reprezentowany przez cyfrę 2, a na końcu wykonanie (x), jest reprezentowane przez cyfrę 1. Brak pozwolenia jest reprezentowane przez cyfrę 0. Tak więc uprawnienia rwx będą wynosić 7 (4+2+1), a uprawnienia r-x będą wynosić 5 (4+0+1).

Pierwsza z trzech cyfr w zestawie uprawnień reprezentuje uprawnienia użytkownika (u, user), druga dla grupy (g, group), a trzecia dla pozostałych (o, other). Gdybyśmy chcieli ustawić uprawnienia do pliku na rw-rw----, wówczas wartością numeryczną byłoby 660:

$ chmod 660 text.txt
$ ls -l text.txt
-rw-rw---- 1 carol carol 765 Dec 20 21:25 text.txt

Poza tym składnia w trybie numerycznym jest taka sama jak w trybie symbolicznym. Pierwszy parametr reprezentuje uprawnienia, które chcesz zmienić, a drugi wskazuje plik lub katalog, w którym zostanie dokonana zmiana.

Tip

Jeśli wartość uprawnienia jest nieparzysta, wówczas plik z pewnością jest wykonywalny!

Której składni należy użyć? Tryb numeryczny jest zalecany, na przykład, gdy chcesz zmienić uprawnienia na określoną wartość 640 (rw- r-- ---).

Tryb symboliczny jest bardziej przydatny, jeżeli chcesz zmienić tylko określoną wartość, niezależnie od bieżących uprawnień do pliku. Na przykład możesz dodać uprawnienia wykonywania dla użytkownika po prostu wpisując chmod u+x script.sh bez konieczności rozważania lub nawet “dotykania” bieżących uprawnień dla grupy i innych.

Modyfikowanie własności pliku

Polecenie chown służy do zmiany właściciela pliku lub katalogu. Składnia jest dość prosta:

chown username:groupname filename

Na przykład, spójrzmy na plik o nazwie text.txt:

$ ls -l text.txt
-rw-rw---- 1 carol carol 1881 Dec 10 15:57 text.txt

Użytkownikiem będącym właścicielem pliku jest obecnie carol, a grupą jest również carol. Teraz chcemy zmieńić grupę będącą właścicielem pliku, na inną grupę, np. na grupę students:

$ chown carol:students text.txt
$ ls -l text.txt
-rw-rw---- 1 carol students 1881 Dec 10 15:57 text.txt

Pamiętaj, że użytkownik będący właścicielem pliku nie musi należeć do grupy będącej właścicielem pliku. W powyższym przykładzie, użytkownik carol nie musi być członkiem grupy students. Musi jednak być członkiem grupy, aby przenieść własność pliku na tę grupę.

Użytkownika lub grupę można pominąć, jeśli nie chcesz ich zmieniać. Tak więc, aby zmienić tylko grupę, do której należy plik, należy użyć polecenia chown :students text.txt. Aby zmienić tylko użytkownika, nalezy użyć polecenia chown carol text.txt. Alternatywnie możesz użyć polecenia chgrp students text.txt, aby zmienić tylko grupę.

Jeśli nie jesteś administratorem systemu (root), nie możesz zmienić prawa własności pliku należącego do innego użytkownika lub grupy, której nie jesteś członkiem. Jeśli spróbujesz to zrobić, zostanie wyświetlony komunikat Operation not permitted (Operacja niedozwolona).

Grupy zapytań (Querying Groups)

Przed zmianą właściciela pliku warto wiedzieć, które grupy istnieją w systemie, którzy użytkownicy są członkami grupy i do których należy użytkownik. Możesz to zrobić za pomocą dwóch poleceń: groups oraz groupmems.

Aby zobaczyć, które grupy istnieją w Twoim systemie, po prostu wpisz groups:

$ groups
carol students cdrom sudo dip plugdev lpadmin sambashare

A jeśli chcesz wiedzieć, do których grup należy użytkownik, dodaj nazwę użytkownika jako parametr:

$ groups carol
carol : carol students cdrom sudo dip plugdev lpadmin sambashare

Aby zrobić odwrotnie i wyświetlić, którzy użytkownicy należą do grupy, użyj polecenia groupmems. Parametr -g określa grupę, a prametr -l wyświetla listę wszystkich jej członków:

$ sudo groupmems -g cdrom -l
carol
Tip

groupmems można uruchomiać tylko jako administrator systemu root. Jeśli nie jesteś aktualnie zalogowany jako root, dodaj sudo przed poleceniem.

Uprawnienia specjalne

Oprócz uprawnień do odczytu, zapisu i wykonywania dla użytkownika, grup i innych, każdy plik może mieć trzy inne specjalne uprawnienia, które mogą zmieniać funkcjonalność katalogu lub wykonanie programu. Można je określić w trybie symbolicznym lub numerycznym i zostały opisane poniżej.

Sticky Bit

Sticky bit, znany również jako flaga ograniczonego usuwania, ma wartość ósemkową 1, a w trybie symbolicznym jest reprezentowany przez t w ramach uprawnień innych osób. Dotyczy to tylko katalogów, a w systemie Linux uniemożliwia użytkownikom usunięcie lub zmianę nazwy pliku w katalogu, jeśli nie są właścicielami tego pliku lub katalogu.

Katalogi z ustawionym Sticky bit wyświetlają t, które zastepuje x w uprawnieniach dla innych użytkowników po wykonaniu polecenia ls -l:

$ ls -ld Sample_Directory/
drwxr-xr-t 2 carol carol 4096 Dec 20 18:46 Sample_Directory/

W trybie numerycznym uprawnienia specjalne są określane za pomocą “notacji czterocyfrowej”, przy czym pierwsza cyfra oznacza ustawione uprawnienia specjalne. Na przykład, aby ustawić sticky bit o wartości 1 dla katalogu Another_Directory w trybie numerycznym z uprawnieniami 755, polecenie powinno wyglądać tak:

$ chmod 1755 Another_Directory
$ ls -ld Another_Directory
drwxr-xr-t 2 carol carol 4,0K Dec 20 18:46 Another_Directory

Set GID

Set GID, zwany również SGID lub ustawianie bitu dla identyfikatora ID grupy (Set Group ID bit), ma wartość ósemkową 2, a w w trybie symbolicznym jest reprezentowane przez literę s w uprawnieniach grupy. Ustawienie to można zastosować do plików wykonywalnych lub katalogów. W przypadku plików wykonywalnych, przyznaje to procesowi wynikającemu z wykonania pliku, dostęp do uprawnień grupy będącej właścicielem pliku. W przypadku katalogów każdy utworzony w nim plik lub katalog odziedziczy grupę z katalogu nadrzędnego.

Pliki i katalogi z bitem SGID pokazują s zamiast x w uprawnieniach grupy jako wynik polecenia ls -l:

$ ls -l test.sh
-rwxr-sr-x 1 carol carol 33 Dec 11 10:36 test.sh

Aby dodać uprawnienia SGID do pliku w trybie symbolicznym, należy wykonac polecenie:

$ chmod g+s test.sh
$ ls -l test.sh
-rwxr-sr-x 1 carol root     33 Dec 11 10:36 test.sh

Poniższy przykład pomoże ci lepiej zrozumieć, jak SGID wpływa na katalog. Załóżmy, że istnieje katalog o nazwie Sample_Directory, który należy do użytkownika carol i grupy users, z następującą strukturą uprawnień:

$ ls -ldh Sample_Directory/
drwxr-xr-x 2 carol users 4,0K Jan 18 17:06 Sample_Directory/

Teraz przejdźmy do tego katalogu i używając polecenia touch utwórzmy w nim pusty plik. Wynik byłby taki:

$ cd Sample_Directory/
$ touch newfile
$ ls -lh newfile
-rw-r--r-- 1 carol carol 0 Jan 18 17:11 newfile

Jak widać, właścicielem pliku jest użytkownik carol i grupa carol. Jeśli jednak katalog miałby ustawione uprawnienia SGID, wówczas wynik byłby inny. Najpierw dodajmy bit SGID do katalogu Sample_Directory i sprawdźmy wynik:

$ sudo chmod g+s Sample_Directory/
$ ls -ldh Sample_Directory/
drwxr-sr-x 2 carol users 4,0K Jan 18 17:17 Sample_Directory/

Litera s w uprawnieniach grupy wskazuje, że bit SGID jest ustawiony. Teraz przejdźmy do tego katalogu i ponownie utwórzmy pusty plik za pomocą polecenia touch.

$ cd Sample_Directory/
$ touch emptyfile
$ ls -lh emptyfile
 -rw-r--r-- 1 carol users 0 Jan 18 17:20 emptyfile

Jak widać, grupa będąca właścicielem pliku to users.Dzieje się tak, ponieważ bit SGID sprawił, że plik odziedziczył właściciela grupy z katalogu nadrzędnego, którym jest users.

Set UID

SUID jest znane jako Set User ID (ustaw identyfikator użytkownika). Ma ono wartość ósemkową 4 i jest reprezentowane przez literę s w uprawnieniach użytkownika w trybie symbolicznym. Dotyczy tylko plików, a jego zachowanie jest podobne do bitu SGID, z wyjątkiem tego, że proces jest wykonywany na uprawnieniach użytkownika, który jest właścicielem pliku. Pliki z bitem SUID pokazują s zamiast x w uprawnieniach użytkownika po wpisaniu polecenia ls -l:

$ ls -ld test.sh
-rwsr-xr-x 1 carol carol 33 Dec 11 10:36 test.sh

Możesz połączyć wiele uprawnień specjalnych w jednym parametrze, dodając je razem. Na przykład, Aby ustawić SGID (wartość 2) i SUID (wartość 4) w trybie numerycznym dla skryptu test.sh z uprawnieniami 755, należy wpisać:

$ chmod 6755 test.sh

Wynik to:

$ ls -lh test.sh
-rwsr-sr-x 1 carol carol 66 Jan 18 17:29 test.sh
Tip

Jeśli Twój monitor lub terminal obsługują kolor, a obecnie większość z nich to robi, możesz szybko sprawdzić, czy są ustawione te specjalne uprawnienia, patrząc na wynik polecenia ls -l. W przypadku sticky bit, nazwa katalogu może być wyświetlana czarną czcionką na niebieskim tle. To samo dotyczy plików z bitami SGID (żółte tło) i SUID (czerwone tło). Kolory mogą się różnić w zależności od używanej dystrybucji Linuxa i ustawień terminala.

Ćwiczenia z przewodnikiem

  1. Utwórz katalog o nazwie emptydir za pomocą polecenia mkdir emptydir. Teraz używając polecenia ls, wyświetl uprawnienia do katalogu emptydir.

  2. Utwórz pusty plik o nazwie emptyfile za pomocą polecenia touch emptyfile. Teraz używając polecenia chmod z notacją symboliczną, dodaj prawa wykonywania dla właściciela pliku emptyfile i usuń prawa zapisu i wykonania dla wszystkich innych użytkowników. Zrób to, używając tylko jednego polecenia chmod.

  3. Jakie będą uprawnienia do pliku o nazwie text.txt po użyciu polecenia chmod 754 text.txt?

  4. Załóżmy, że plik o nazwie test.sh jest skryptem powłoki z następującymi uprawnieniami i własnością:

    -rwxr-sr-x 1 carol root     33 Dec 11 10:36 test.sh
    • Jakie są uprawnienia właściciela pliku?

    • Jeśli użytkownik john uruchomi ten skrypt, z jakimi uprawnieniami ten skrypt zostanie wykonany?

    • Używając notacji numerycznej, jaka jest składnia polecenia chmod, aby “cofnąć” specjalne uprawnienia przyznane temu plikowi?

  5. Spójrz na ten plik:

    $ ls -l /dev/sdb1
    brw-rw---- 1 root disk 8, 17 Dec 21 18:51 /dev/sdb1

    Jakim rodzajem pliku jest sdb1? A kto może ten plik modyfikować?

  6. Spójrz na następujące 4 pliki:

    drwxr-xr-t 2 carol carol 4,0K Dec 20 18:46 Another_Directory
    ----r--r-- 1 carol carol    0 Dec 11 10:55 foo.bar
    -rw-rw-r-- 1 carol carol 1,2G Dec 20 18:22 HugeFile.zip
    drwxr-sr-x 2 carol users 4,0K Jan 18 17:26 Sample_Directory

    Zapisz odpowiednie uprawnienia dla każdego pliku i katalogu, używając 4-cyfrowej notacji numerycznej.

    Another_Directory
    foo.bar
    HugeFile.zip
    Sample_Directory

Ćwiczenia eksploracyjne

  1. Spróbuj wykonać następujące czynności w terminalu. Utwórz pusty plik o nazwie emptyfile za pomocą polecenia touch emptyfile. Teraz “wyzeruj” uprawnienia do pliku za pomocą polecenia chmod 000 emptyfile. Co się stanie, jeśli zmienisz uprawnienia dla pliku emptyfile, przekazując tylko jedną wartość dla chmod w trybie numerycznym, na przykład chmod 4 emptyfile? Jaki będzie wynik, jeśli użyjesz dwóch wartości, na przykład chmod 44 emptyfile? Co można z tego wywnioskować na temat sposobu, w jaki chmod odczytuje wartość liczbową?

  2. Czy możesz uruchomić plik, do którego wykonania masz uprawnienia, z wyjątkiem uprawnień do odczytu (--x)? Dlaczego tak lub dlaczego nie?

  3. Rozważ uprawnienia do katalogu tymczasowego /tmp w systemie Linux:

    $ ls -l /tmp
    drwxrwxrwt  19 root root  16K Dec 21 18:58 tmp

    Użytkownik, grupa i inne osoby mają pełne uprawnienia. Ale czy zwykły użytkownik może usunąć dowolne pliki w tym katalogu? Dlaczego?

  4. Plik o nazwie test.sh ma następujące uprawnienia: -rwsr-xr-x, co oznacza, że ​​ustawiony jest bit SUID. Teraz uruchom następujące polecenia:

    $ chmod u-x test.sh
    $ ls -l test.sh
    -rwSr-xr-x 1 carol carol 33 Dec 11 10:36 test.sh

    Co zrobiliśmy? Co oznacza wielka litera S?

  5. W jaki sposób utworzyłbyś katalog o nazwie Box, w którym wszystkie pliki są automatycznie własnością grupy users i mogą być usunięte tylko przez użytkownika, który je utworzył?

Podsumowanie

Jako system wielu użytkowników Linux potrzebuje sposobu na śledzenie, kto jest właścicielem pliku i kto ma do niego dostęp. Odbywa się to za pomocą trójpoziomowego systemu uprawnień. W tej lekcji dowiedzieliśmy się wszystkiego o tym, jak działa ten system.

W tej lekcji nauczyłeś się, jak używać polecenia ls, aby uzyskać informacje o uprawnieniach do plików, jak używać polecenia chmod do kontrolowania lub zmiany, kto może tworzyć, usuwać lub modyfikować plik (zarówno w notacji numerycznej, jak i symbolicznej) oraz jak zmieniać własność plików za pomocą poleceń chown oraz chgrp.

W tej lekcji omówiono następujące polecenia:

ls

Wyświetla listę plików, opcjonalnie zawierającą szczegóły, takie jak uprawnienia.

chmod

Zmienia uprawnienia do pliku lub katalogu.

chown

Zmienia użytkownika będącego właścicielem i / lub grupę pliku lub katalogu.

chgrp

Zmienia grupę będącą właścicielem pliku lub katalogu.

Odpowiedzi do ćwiczeń z przewodnikiem

  1. Utwórz katalog o nazwie emptydir za pomocą polecenia mkdir emptydir. Teraz używając polecenia ls, wyświetl uprawnienia do katalogu emptydir.

    Dodaj parametr -d do polecenia ls, aby wyświetlić atrybuty plików katalogu zamiast wyświetlać jego zawartość. Tak więc odpowiedź brzmi:

    ls -l -d emptydir

    Dostaniesz dodatkowe punkty, jeśli połączysz te dwa parametry w jeden: ls -ld emptydir.

  2. Utwórz pusty plik o nazwie emptyfile za pomocą polecenia touch emptyfile. Teraz używając polecenia chmod z notacją symboliczną, dodaj prawa wykonywania dla właściciela pliku emptyfile i usuń prawa zapisu i wykonania dla wszystkich innych użytkowników. Zrób to, używając tylko jednego polecenia chmod.

    Pomyśl o tym w ten sposób:

    • “Dla użytkownika będącego właścicielem pliku (u) dodaj (+) uprawnienia do wykonania (x)”, a więc u+x.

    • “Dla grupy (g) i innych użytkowników (o) usuń (-) uprawnienia do zapisu (w) oraz uprawnienia do wykonywania (x)”, a więc go-wx.

      Aby połączyć te dwa zestawy uprawnień, dodajemy między nimi przecinek. Tak więc ostateczny wynik to:

      chmod u+x,go-wx emptyfile
  3. Jakie będą uprawnienia do pliku o nazwie text.txt po użyciu polecenia chmod 754 text.txt?

    Pamiętaj, że w zapisie numerycznym każda cyfra reprezentuje zestaw trzech uprawnień, z których każda ma odpowiednią wartość: odczyt (read) wynosi 4, zapis (write) wynosi 2, wykonanie (execute) wynosi 1 i brak uprawnień wynosi 0. Wartość cyfry uzyskujemy, dodając odpowiednie wartości do każdego uprawnienia. Wartość 7 składa się z 4+2+1 lub rwx, wartość 5 składa się z 4+0+1 lub r-x, a wartość 4 jest tylko prawem do odczytu lub r--. Uprawnienia dla pliku text.txt będą wynosić:

    rwxr-xr--
  4. Załóżmy, że plik o nazwie test.sh jest skryptem powłoki z następującymi uprawnieniami i własnością:

    -rwxr-sr-x 1 carol root     33 Dec 11 10:36 test.sh
    • Jakie są uprawnienia właściciela pliku?

      Uprawnienia właściciela (od 2 do 4 znaków wyświetlanych przy uzyciu polecenia ls -l) to rwx. Zatem odpowiedź brzmi: “do odczytu, zapisu i wykonywania pliku”.

    • Jeśli użytkownik john uruchomi ten skrypt, z jakimi uprawnieniami ten skrypt zostanie wykonany?

      Zwróć uwagę na uprawnienia dla grupy. Są to r-s, co oznacza, że ​​ustawiony jest bit SGID. Grupa, do której należy ten plik, to root, więc skrypt, nawet jeśli został uruchomiony przez zwykłego użytkownika, będzie uruchamiany z uprawnieniami użytkownika uprzywilejowanego.

    • Używając notacji numerycznej, jaka jest składnia polecenia chmod, aby “cofnąć” specjalne uprawnienia przyznane temu plikowi?

      Możemy “cofnąć” specjalne uprawnienia, przekazując czwartą cyfrę, tj. 0 do polecenia chmod. Obecne uprawnienia to 755, więc polecenie będzie miało postać chmod 0755.

  5. Spójrz na ten plik:

    $ ls -l /dev/sdb1
    brw-rw---- 1 root disk 8, 17 Dec 21 18:51 /dev/sdb1

    Jakim rodzajem pliku jest sdb1? A kto może ten plik modyfikować?

    Pierwszy znak wyniku polecenia ls -l wskazuje typ pliku. Litera b oznacza urządzenie blokowe; zwykle jest to dysk twardy (wewnętrzny lub zewnętrzny), który jest podłączony do komputera. Właściciel (root) i wszyscy użytkownicy grupy disk mogą na nim zapisywać.

  6. Spójrz na następujące 4 pliki:

    drwxr-xr-t 2 carol carol 4,0K Dec 20 18:46 Another_Directory
    ----r--r-- 1 carol carol    0 Dec 11 10:55 foo.bar
    -rw-rw-r-- 1 carol carol 1,2G Dec 20 18:22 HugeFile.zip
    drwxr-sr-x 2 carol users 4,0K Jan 18 17:26 Sample_Directory

    Zapisz odpowiednie uprawnienia dla każdego pliku i katalogu, używając 4-cyfrowej notacji numerycznej.

    Odpowiednie uprawnienia w notacji numerycznej są następujące:

    Another_Directory

    Odpowiedź: 1755

    1 dla sticky bit, 755 dla zwykłych użytkowników (rwx dla użytkownika, r-x dla grup i innych).

    foo.bar

    Odpowiedź: 0044

    Brak specjalnych uprawnień (więc pierwsza cyfra to 0), brak uprawnień dla użytkownika (---) i uprawnienia tylko do odczytu (r—​r--) dla grupy i innych.

    HugeFile.zip

    Odpowiedź: 0664

    Brak specjalnych uprawnień, więc pierwsza cyfra to 0. 6 (rw-) dla użytkownika i grup, 4 (r--) dla innych.

    Sample_Directory

    Odpowiedź: 2755

    2 dla bitu SGID, 7 (rwx) dla użytkownika, 5 (r-x) dla grup i innych.

Odpowiedzi do ćwiczeń eksploracyjnych

  1. Spróbuj wykonać następujące czynności w terminalu. Utwórz pusty plik o nazwie emptyfile za pomocą polecenia touch emptyfile. Teraz “wyzeruj” uprawnienia do pliku za pomocą polecenia chmod 000 emptyfile. Co się stanie, jeśli zmienisz uprawnienia dla pliku emptyfile, przekazując tylko jedną wartość dla chmod w trybie numerycznym, na przykład chmod 4 emptyfile? Jaki będzie wynik, jeśli użyjesz dwóch wartości, na przykład chmod 44 emptyfile? Co można z tego wywnioskować na temat sposobu, w jaki chmod odczytuje wartość liczbową?

    Pamiętaj, że “wyzerowaliśmy” uprawnienia dla pliku emptyfile. Tak więc jego stan początkowy wyglądałby następująco:

    ---------- 1 carol carol    0 Dec 11 10:55 emptyfile

    Teraz wypróbujmy pierwsze polecenie, chmod 4 emptyfile:

    $ chmod 4 emptyfile
    $ ls -l emptyfile
    -------r-- 1 carol carol 0 Dec 11 10:55 emptyfile

    Uprawnienia dla innych zostały zmienione. A co jeśli spróbujemy użyć dwóch cyfr, na przykład chmod 44 emptyfile?

    $ chmod 44 emptyfile
    $ ls -l emptyfile
    ----r--r-- 1 carol carol 0 Dec 11 10:55 emptyfile

    Teraz wpłynęło to na uprawnienia dla grupy i innych w ten sposób, że prawa grup i innych osób zostały zmienione. Z tego możemy wywnioskować, że w notacji numerycznej chmod odczytuje wartość “wstecz” od najmniej znaczącej cyfry (inni) do najbardziej znaczącej (użytkownik). Jeśli przekażesz jedną cyfrę, zmodyfikujesz uprawnienia dla innych. Za pomocą dwóch cyfr modyfikujesz uprawnienia dla grupy oraz innych, Za pomocą trzech cyfr modyfikujesz uprawnienia dla użytkownika, grupy oraz innych. Za pomocą czterech cyfr modyfikujesz uprawnienia dla użytkownika, grupy, innych oraz uprawnienia specjalne.

  2. Czy możesz uruchomić plik, do którego wykonania masz uprawnienia, z wyjątkiem uprawnień do odczytu (--x)? Dlaczego tak lub dlaczego nie?

    Na początku odpowiedź wydaje się oczywista: jeśli masz uprawnienia do wykonywania, plik powinien zostać uruchomiony. Jednak bez uprawnień do odczytu system nie może otworzyć pliku i odczytać jego zawartości w celu wykonania. Dlatego bez uprawnień do odczytu nie możesz uruchomić pliku, nawet jeśli masz do niego uprawnienia do wykonywania.

  3. Rozważ uprawnienia do katalogu tymczasowego /tmp w systemie Linux:

    $ ls -l /tmp
    drwxrwxrwt  19 root root  16K Dec 21 18:58 tmp

    Użytkownik, grupa i inne osoby mają pełne uprawnienia. Ale czy zwykły użytkownik może usunąć dowolne pliki w tym katalogu? Dlaczego?

    Katalog /tmp jest tym, co nazywamy katalogiem z możliwością zapisu przez cały świat. Oznacza to, że ​​każdy może zapisywać w tym katalogu. Ale my nie chcemy, aby jeden użytkownik modyfikował pliki utworzone przez innych, dlatego ustawiamy sticky bit (jak pokazuje nam litera wskazywany przez t w uprawnieniach dla innych). Oznacza to, że użytkownik może usunąć pliki w katalogu /tmp, ale tylko wtedy, gdy sam utworzył te pliki.

  4. Plik o nazwie test.sh ma następujące uprawnienia: -rwsr-xr-x, co oznacza, że ​​ustawiony jest bit SUID. Teraz uruchom następujące polecenia:

    $ chmod u-x test.sh
    $ ls -l test.sh
    -rwSr-xr-x 1 carol carol 33 Dec 11 10:36 test.sh

    Co zrobiliśmy? Co oznacza wielka litera S?

    Usunęliśmy prawa wykonywania dla użytkownika, który jest właścicielem pliku. Litera s (lub t) pojawia się zamiast x podczas wykonywania polecenia ls -l, więc system potrzebuje sposobu, aby pokazać, czy użytkownik ma uprawnienia do wykonywania, czy nie. Odbywa się to poprzez zmianę wielkości znaków specjalnych.

    Mała litera s w pierwszej grupie uprawnień oznacza, że użytkownik, który jest właścicielem pliku, ma uprawnienia do wykonywania, a bit SUID jest ustawiony. Wielka litera S oznacza że ​​użytkownik będący właścicielem pliku nie ma (-) uprawnień do wykonywania i że ustawiony jest bit SUID.

    To samo dotyczy SGID. Mała litera s w drugiej grupie uprawnień oznacza, że ​​grupa będąca właścicielem pliku ma uprawnienia do wykonywania i że ustawiony jest bit SGID. Wielka litera S że ​​grupa, do której należy plik, nie ma (-) uprawnień do wykonywania i że bit SGID jest ustawiony.

    Dotyczy to również sticky bit, który jest reprezentowany przez t w trzeciej grupie uprawnień. Mała litera t oznacza, że ​sticky bit jest ​ustawiony, a inni mają uprawnienia do wykonywania. Wielka litera T oznacza, że sticky bit jest ​ustawiony, a inni nie mają uprawnień do wykonywania.

  5. W jaki sposób utworzyłbyś katalog o nazwie Box, w którym wszystkie pliki są automatycznie własnością grupy users i mogą być usunięte tylko przez użytkownika, który je utworzył?

    To jest wieloetapowy proces. Pierwszym krokiem jest utworzenie katalogu:

    $ mkdir Box

    Chcemy, aby każdy plik utworzony w tym katalogu był automatycznie przypisywany do grupy users. Możemy to zrobić, ustawiając tę ​​grupę jako właściciela katalogu, a następnie ustawiając na niej bit SGID. Musimy również upewnić się, że każdy członek grupy może zapisywać zmiany w tym katalogu.

    Ponieważ nie dbamy o inne uprawnienia i chcemy tylko “odwrócić” specjalne bity, wówczas sensowne jest użycie trybu symbolicznego:

    $ chown :users Box/
    $ chmod g+wxs Box/

    Zauważ, że jeśli Twój bieżący użytkownik nie należy do grupy users, to będziesz musiał użyć polecenia sudo przed powyższymi poleceniami, aby dokonać zmiany jako superużytkownik (root).

    W ostatniej części chcemy upewnić się, że tylko użytkownik, który utworzył plik, będzie mógł go usunąć. Odbywa się to poprzez ustawienie sticky bit (reprezentowanego przez t) dla katalogu. Pamiętaj, że jest to ustawienie na uprawnienia dla innych (o).

    $ chmod o+t Box/

    Uprawnienia do katalogu Box powinny wyglądać następująco:

    drwxrwsr-t 2 carol users  4,0K Jan 18 19:09 Box

    Oczywiście możesz określić SGID oraz sticky bit za pomocą tylko jednego polecenia chmod:

    $ chmod g+wxs,o+t Box/

    Dostajesz dodatkowe punkty, jeśli o tym pomyślałeś.

Linux Professional Insitute Inc. Wszelkie prawa zastrzeżone. Odwiedź stronę Learning Materials: https://learning.lpi.org
Dzieło jest udostępnione na licencji Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Następna lekcja

5.4 Katalogi i pliki specjalne (5.4 Lekcja 1)

Przeczytaj następną lekcję

Linux Professional Insitute Inc. Wszelkie prawa zastrzeżone. Odwiedź stronę Learning Materials: https://learning.lpi.org
Dzieło jest udostępnione na licencji Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

LPI jest organizacją non-profit.

© 2023 Linux Professional Institute (LPI) jest światowym standardem certyfikacji i organizacją wspierającą karierę profesjonalistów open source. Posiadając ponad 200 000 certyfikatów, LPI jest pierwszą i największą na świecie neutralną w stosunku do dostawców jednostką certyfikującą Linuksa i open source. LPI certyfikuje profesjonalistów w ponad 180 krajach, przeprowadza egzaminy w wielu językach i posiada setki partnerów szkoleniowych.

Naszym celem jest stworzenie ekonomicznych i kreatywnych możliwości dla każdego poprzez powszechny dostęp do wiedzy i umiejętności open source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Skontaktuj się z nami
  • Polityka prywatności i plików cookiey

Zauważyłeś błąd lub chcesz pomóc ulepszyć tę stronę? Prosimy daj nam znać.

© 1999–2023 The Linux Professional Institute Inc. Wszelkie prawa zastrzeżone.