Co to jest umask?

umask (maska trybu tworzenia plików użytkownika) to ustawienie w systemach Linux i Unix, które kontroluje domyślne uprawnienia przypisane nowo utworzonym plikom i katalogom. Zamiast bezpośrednio ustawiać uprawnienia, umask definiuje, które bity uprawnień powinny być usunięte z domyślnych ustawień systemu podczas tworzenia nowego pliku lub katalogu.

System zaczyna od uprawnień bazowych 666 (odczyt i zapis dla wszystkich) dla plików i 777 (odczyt, zapis i wykonanie dla wszystkich) dla katalogów. Umask jest następnie odejmowany bitowo od tych domyślnych wartości za pomocą operacji logicznej AND-NOT, co daje ostateczne uprawnienia. Na przykład, przy umask 022, nowe pliki otrzymują uprawnienia 644, a nowe katalogi 755.

Każda cyfra umask odpowiada klasie uprawnień: pierwsza cyfra wpływa na właściciela, druga na grupę, a trzecia na pozostałych użytkowników. Cyfra 0 oznacza, że żadne uprawnienia nie są maskowane, podczas gdy 7 usuwa wszystkie uprawnienia dla tej klasy.

Opis narzędzia

Kalkulator umask dla Linuksa konwertuje wartość umask i uprawnienia bazowe na wynikowe efektywne uprawnienia zarówno w notacji ósemkowej, jak i symbolicznej. Generuje również dokładne polecenie powłoki umask, pomagając administratorom systemów, deweloperom i inżynierom DevOps podglądać wynik dowolnego umask przed zastosowaniem go do powłoki, skryptu lub konfiguracji systemu.

Przykłady

Umask Bazowe Wynikowa notacja ósemkowa Symboliczna
022 666 644 rw-r--r--
022 777 755 rwxr-xr-x
077 666 600 rw-------
027 777 750 rwxr-x---
002 666 664 rw-rw-r--

Funkcje

  • Oblicza wynikowe uprawnienia ósemkowe i symboliczne dla dowolnego umask
  • Obsługuje zarówno wartości umask 3-cyfrowe, jak i 4-cyfrowe (z wiodącym bitem sticky/setuid)
  • Popularne ustawienia wstępne umask (022, 027, 077, 002, 007, 000)
  • Ustawienia wstępne uprawnień bazowych dla plików (666) i katalogów (777)
  • Generuje gotowe do użycia polecenie powłoki umask

Przypadki użycia

  • Wzmacnianie bezpieczeństwa serwera: Podgląd bardziej restrykcyjnego umask, takiego jak 077, przed dodaniem go do /etc/profile lub konfiguracji powłoki użytkownika, aby upewnić się, że nowe pliki są prywatne.
  • Współdzielone środowiska programistyczne: Weryfikacja, że 002 lub 007 tworzy pliki zapisywalne dla grupy w katalogach projektów współpracy.
  • Skrypty wdrażania: Potwierdzenie, że umask używany w potokach CI/CD lub punktach wejścia kontenerów będzie tworzyć oczekiwane uprawnienia dla dzienników aplikacji i przesłanych zasobów.

Jak to działa

Uprawnienia końcowe są obliczane dla każdej klasy (właściciel, grupa, pozostali) przy użyciu wzoru:

final = base AND (NOT umask)

Każda cyfra ósemkowa jest przetwarzana niezależnie. Dla cyfry umask 2 (binarna 010) i cyfry bazowej 6 (binarna 110), wynik to 110 AND NOT 010 = 100, co równa się 4 (tylko odczyt). Wiodąca cyfra umask 4-cyfrowego kontroluje bity specjalne (setuid, setgid, sticky) i jest ignorowana w standardowym obliczeniu uprawnień.

Wskazówki

  • Użyj 666 jako bazę, aby zobaczyć uprawnienia dla nowych plików, i 777 dla nowych katalogów.
  • Umask 000 oznacza, że żadne uprawnienia nie są usuwane — przydatne tylko w ściśle kontrolowanych, izolowanych środowiskach.
  • Aby umask był trwały, dodaj wygenerowane polecenie do ~/.bashrc, ~/.profile lub /etc/profile w zależności od zakresu, jaki chcesz.