Porady Admina

Porady Admina: umask

Ostatnia aktualizacja: 17 czerwca 2024, 21:14

W dzisiejszym wpisie z cyklu Porady Admina zajmiemy się poleceniem umask.

umask wyświetla i ustawia maski uprawnień plików. Narzędzie umask służy do kontrolowania maski trybu tworzenia pliku, która określa początkową wartość bitów uprawnień do nowo tworzonych plików. Zachowanie tego narzędzia jest ustandaryzowane przez POSIX i opisane w Podręczniku programisty POSIX. Ponieważ umask wpływa na bieżące środowisko wykonawcze powłoki, zwykle jest implementowany jako wbudowane polecenie powłoki.

Maska trybu zawiera bity uprawnień, które nie powinny być ustawiane dla nowo utworzonego pliku, dlatego jest logicznym uzupełnieniem bitów uprawnień ustawionych dla nowo utworzonego pliku. Jeśli jakiś bit w masce jest ustawiony na 1, odpowiednie uprawnienia dla nowo utworzonego pliku zostaną wyłączone. Dlatego maska ​​działa jak filtr usuwający bity uprawnień i pomaga w ustawianiu domyślnego dostępu do plików.

Ustawienie maski uprawnień tworzonych plików stosuje się na UPRAWNIENIA. Jeśli pominięto UPRAWNIENIA, wypisywana jest aktualna wartość maski.
Jeśli UPRAWNIENIA zaczynają się od cyfry, są interpretowane jako liczba ósemkowa; w przeciwnym wypadku jako łańcuch symbolicznych uprawnień, jak w poleceniu chmod.

Składnia

umask [-p] [-S] [uprawnienia]

Opcje

-p : jeśli pominięto UPRAWNIENIA, wypisywanie w formie nadającej się do ponownego użycia jako wejście
-S : wyjście w postaci symbolicznej; bez tej opcji jest ósemkowe

Uprawnienia

Uprawnienia
Wartość ósemkowa
Wartość binarna
Brak pozwolenia
0
000
Pozwolenie na wykonanie
-x
1
001
Pozwolenie na zapis
-w-
2
010
Pozwolenie na zapis i wykonanie
-wx
3
011
Pozwolenia na odczyt
r-
4
100
Pozwolenie na odczyt i wykonanie
r-w
5
101
Pozwolenie na odczyt i zapis
rw-
6
110
Pozwolenie na odczyt, zapis i wykonanie
rwx
7
111

Jak obliczyć wartość umask?

umask
0002

Pierwsza cyfra 0, nazywana jest bitem trwałym i jest to specjalna funkcja bezpieczeństwa. Następne trzy cyfry reprezentują wartości ósemkowe umaski dla pliku lub katalogu.
W powyższym przykładzie komenda umask wypisuje 0002, na razie nie będziemy się martwić o pierwsze 0.
Następne trzy cyfry to 002.

Każda cyfra oznacza inną klasę użytkowników. W systemie Linux istnieją w sumie 3 klasy użytkowników,
– właściciel
– członkowie grupy
– wszyscy inni

Powyższe dane wyjściowe 002 pokazują, że dostęp do właściciela wynosi 0, dostęp do członków grupy wynosi 0, a dostęp do wszystkich wynosi 2. To 2 jest wartością ósemkową. Aby zrozumieć uprawnienia dostępu, musielibyśmy przekonwertować go na system dziesiętny, 2 równa się 010 w formacie binarnym, co można wyjaśnić na: 0 dla odczytu, 1 dla zapisu i 0 dla wykonania.
Powyższy wynik mówi: tylko uprawnienia do zapisu dla wszystkich.

Przykłady

Możemy ustawić i zaktualizować domyślną wartość umask za pomocą polecenia umask, po którym następuje parametr, który powinien być liczbą całkowitą z zakresu 000-777.

umask 543

Kiedy tworzymy nowy katalog, uprawnienia zostaną obliczone jako pełne uprawnienia do katalogu – wartość umask, tj. 777 – 543 = 234, co można wyjaśnić jako:
– 2 dla właściciela, czyli 010 w formacie binarnym, więc uprawnienia do zapisu dla właściciela.
– 3 dla członków grupy, czyli 011 w formacie binarnym, więc uprawnienia do zapisu i wykonywania dla członków grupy.
– 4 dla wszystkich pozostałych, czyli 100 w formacie binarnym, więc tylko uprawnienia do odczytu dla wszystkich pozostałych.

ls -lh
d-w--wxr--

Wynik pokazuje: d tutaj oznacza katalog, a ostatnie 3 to uprawnienia dla odpowiednim użytkownikom.

Za pomocą umask ​​można także używać notacji symbolicznych. Poniżej w poleceniu „umask u-w” „u” oznacza użytkownika, „-” służy do usuwania uprawnień, a „w” oznacza pozwolenie na zapis.

umask u-w

Użycie symbolu „+” zamiast „-” przyzna użytkownikowi odpowiednie uprawnienia. Możesz także użyć „r”, które służy do pozwolenia na odczyt. tj. umask u+rw

umask u+w

Więcej informacji o poleceniu umask uzyskasz wpisując:
man umask
umask --help

Click to rate this post!
[Total: 2 Average: 5]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.

Skip to content