Uprawnienia domyślne (umask)

W momencie tworzenia pliku lub katalogu Linux przypisuje mu domyślne uprawnienia. Uprawnienia te są ustanawiane na podstawie uprawnień maski użytkownika (umask). Umask to trzy-cyfrowa wartość, która odnosi się uprawnień do czytania/zapisywania/wykonywania, jakie posiada właściciel, grupa i pozostali użytkownicy. Przeznaczeniem umask jest ustawianie domyślnych uprawnień dla nowych plików i katalogów tworzonych bez ingerencji w już istniejące pliki i katalogi. W RHEL umaską domyślą dla użytkownia root jest 0022, dla innych użytkowników z dostępem do powołoki bash domyślna umaska to 0002.

Umask w notacji symbolicznej:

Predefiniowana inicjacyjna wartość dla uprawnień to 666 (rw-rw-rw) dla plików i 777 (rwxrwxrwx) dla katalogów. Jeżeli umask będzie ustawiony na 000 to nowe pliki będą dostawać uprawnienia 666.

Domyślne uprawnienia dla plików dla zwykłych użytkowników obliczamy w sposób następujący:

Inicjacyjne uprawnienia 666
umask – 002
Domyślne uprawnienia 664

Domyślne uprawnienia dla katalogów dla zwykłych użytkowników obliczamy w sposób następujący:

Inicjacyjne uprawnienia 777
umask – 002
Domyślne uprawnienia 775

Jeżeli zatem chcemy mieć inne uprawnienia domyślne dla plików i katalogów, należy zmodyfikować umask.

Załóżmy, że chcemy mieć uprawnienia domyślne dla katalogów 750 a dla plików 640. Wartość umask wyliczamy następująco:

777 – 750 = 027
666 – 640 = 027

A zatem:

Po wylogowaniu z systemu wartość umask zostanie utracona, aby utrzymać nową wartość umask należy ją ustawić w plikach startowych powłoki bash, np. /etc/profile (dla wszystkich użytkowników) lub w pliku ~/.bashrc (dla wybranych użytkowników).

Leave a Reply

Your email address will not be published. Required fields are marked *