CO ROBI POLECENIE UMASK
Co to jest polecenie umask?
Polecenie umask w systemach Unix i Unix-podobnych, takich jak Linux i macOS, jest używane do ustawiania domyślnej maski uprawnień dla nowo tworzonych plików i katalogów. Maska uprawnień określa, które uprawnienia będą domyślnie przyznane nowym obiektom systemu plików.
Jak działa polecenie umask?
Polecenie umask działa poprzez odejmowanie podanej maski uprawnień od maksymalnego zestawu uprawnień (777 dla zwykłych plików i 755 dla katalogów). Wynikowa maska określa uprawnienia, które są odmówione nowym obiektom.
Na przykład, jeśli maska uprawnień jest ustawiona na 022, to nowe pliki otrzymują domyślne uprawnienia 644 (777 – 022 = 644), co oznacza, że plik jest dostępny do odczytu i zapisu dla właściciela pliku i dostępny tylko do odczytu dla grupy i innych użytkowników.
Jak ustawić maskę uprawnień za pomocą polecenia umask?
Aby ustawić maskę uprawnień za pomocą polecenia umask, należy uruchomić następujące polecenie w wierszu poleceń:
umask [nowa_maska_uprawnień]
Na przykład, aby ustawić maskę uprawnień na 022, należy uruchomić następujące polecenie:
umask 022
Można również użyć symbolicznego zapisu, aby ustawić maskę uprawnień. Na przykład, aby ustawić maskę uprawnień na odczyt i zapis dla właściciela pliku i tylko odczyt dla grupy i innych użytkowników, można uruchomić następujące polecenie:
umask u=rw,g=r,o=r
Jak sprawdzić bieżącą maskę uprawnień?
Aby sprawdzić bieżącą maskę uprawnień, należy uruchomić następujące polecenie w wierszu poleceń:
umask
Bieżąca maska uprawnień zostanie wyświetlona w formie ósemkowej.
Przykłady użycia polecenia umask
- Zapobieganie nadawaniu uprawnień do zapisu innym użytkownikom: Ustawienie maski uprawnień na 022 zapobiegnie nadawaniu uprawnień do zapisu innym użytkownikom dla nowo tworzonych plików i katalogów.
- Nadawanie uprawnień do wykonywania tylko grupie: Ustawienie maski uprawnień na u=,g=x,o=r nada uprawnienia do wykonywania plików tylko grupie użytkowników.
- Ograniczanie uprawnień w określonym katalogu: Ustawienie maski uprawnień w określonym katalogu za pomocą polecenia
findichmod:
find /ścieżka/do/katalogu -type d -exec chmod 750 {} \;
Często zadawane pytania
- Jaka jest domyślna maska uprawnień w systemie Linux?
Domyślna maska uprawnień w systemie Linux to 022. - Czy mogę ustawić maskę uprawnień tylko dla określonych użytkowników lub grup?
Tak, można ustawić maskę uprawnień na poziomie użytkownika lub grupy za pomocą symboli u, g i o w poleceniuumask. - Jak mogę ustawić maskę uprawnień, która jest bardziej restrykcyjna niż domyślna?
Aby ustawić maskę uprawnień, która jest bardziej restrykcyjna niż domyślna, należy użyć maski z wyższymi wartościami. Na przykład, ustawienie maski uprawnień na 077 odmówi wszystkich uprawnień innym użytkownikom dla nowo tworzonych plików i katalogów. - Czy mogę ustawić inną maskę uprawnień dla plików i katalogów?
Tak, można ustawić różne maski uprawnień dla plików i katalogów za pomocą symboli f i d w poleceniuumask. - Czy użytkownicy root są objęci ograniczeniami dotyczącymi maski uprawnień?
Nie, użytkownicy root nie są objęci ograniczeniami dotyczącymi maski uprawnień. Mogą oni ustawić dowolne uprawnienia, jakie chcą, dla nowo tworzonych plików i katalogów.
Polecenie umask
Polecenie umask jest poleceniem systemu Unix/Linux, które ustawia wartość umask dla bieżącego procesu i wszystkich jego potomnych procesów. Wartość umask określa domyślne uprawnienia dostępu do plików i katalogów tworzonych przez proces.
Jak działa umask
Wartość umask jest liczbą ósemkową, składającą się z trzech cyfr. Każda cyfra odpowiada uprawnieniom dla jednego z trzech typów użytkowników: właściciela pliku, grupy właściciela pliku i innych użytkowników.
Cyfra na pozycji jedności odpowiada uprawnieniom dla właściciela pliku. Cyfra na pozycji dziesiątek odpowiada uprawnieniom dla grupy właściciela pliku. Cyfra na pozycji setek odpowiada uprawnieniom dla innych użytkowników.
Każda cyfra może przyjmować wartość od 0 do 7, gdzie 0 oznacza brak uprawnień, a 7 oznacza pełne uprawnienia.
Wartość umask jest odejmowana od pełnych uprawnień (777) przed nadaniem uprawnień nowoutworzonemu plikowi lub katalogowi.
Przykład
Załóżmy, że wartość umask wynosi 022. W takim przypadku nowe pliki i katalogi będą miały domyślne uprawnienia 755:
- Właściciel: 7 (pełne uprawnienia) – 2 (umaska) = 5 (czytanie, pisanie, wykonywanie)
- Grupa: 7 (pełne uprawnienia) – 0 (brak uprawnień) = 7 (czytanie, pisanie, wykonywanie)
- Inni: 7 (pełne uprawnienia) – 2 (maskowanie) = 5 (czytanie, wykonywanie)
Zmiana wartości umask
Wartość umask można zmienić za pomocą polecenia:
umask [nowa wartość]
Na przykład, aby ustawić wartość umask na 022, wpisz:
umask 022
Zastosowania polecenia umask
Polecenie umask jest używane do kontroli domyślnych uprawnień dostępu do plików i katalogów. Jest to szczególnie przydatne w środowiskach wielozadaniowych, w których wiele procesów ma tworzyć pliki i katalogi.
Ustawienie odpowiedniej wartości umask pomaga zapewnić, że nowo utworzone pliki i katalogi mają odpowiednie uprawnienia dostępu, co zwiększa bezpieczeństwo systemu.
Wartości domyślne umask
Domyślna wartość umask zależy od systemu i dystrybucji. Typowe wartości domyślne to:
- 022 (dla systemów typu BSD, takich jak Linux)
- 027 (dla systemów typu System V, takich jak Solaris)
Uwagi
- Polecenie umask działa tylko w bieżącej sesji terminala. Aby zachować zmiany na stałe, należy zmodyfikować odpowiedni plik konfiguracyjny powłoki.
- Wartość umask nie wpływa na uprawnienia dostępu do istniejących plików i katalogów.
- Polecenie umask można również używać do zmiany uprawnień dostępu do maski dla nowego procesu. Jest to przydatne, gdy proces musi mieć dostęp do określonych plików lub katalogów z innymi uprawnieniami niż domyślne.