Uprawnienia, chmody i umask

0

Witam, umiem i rozumiem na czym polegają chmody, problem mam z komenda umask, zupełnie nie rozumiem o co chodzi, wiem tylko, że ustawiają domyślne uprawnienia dla nowo dodanych katalogów i plików. W google znalazłem jakieś skomplikowane sposoby, znajomy mi kiedyś mówił, że jakoś się to odejmuje od chmodów i jest tak samo proste jak uprawnienia. Może mi ktoś wytłumaczyć, jak szybko obliczyć jakie będą uprawnienia po wpisaniu przykładowych umasków ? Obojętnie jaki przykład, może być umask 22

1

Na początek otwórz sobie terminal i wywołaj ponownie powłokę np. bash.
Teraz aby zrozumieć jak pracuje cały układ umask/chmod/..., wyzeruj umask przez:

umask 0000

Załóż katalog przez:

mkdir katalog

Wyświetl prawa przez:

ls -ald katalog

Jak widać prawa to rwxrwxrwx czyli ósemkowo 0777
Stwórz plik poprzez:

touch plik

Wyświetl jego prawa poprzez:

ls -al plik

Jak widać prawa do pliku to rw-rw-rw- czyli ósemkowo 0666

Wniosek: Katalogi są tworzone domyślnie (bez wpływu umask) z prawami 0777 a pliki z prawami 0666

No to teraz "zabawa" z umask.
Ustaw umask na wartość 0001 poprzez:

umask 0001

Załóż katalog poprzez:

mkdir katalog2

Wyświetl prawa katalogu poprzez:

ls -ald katalog2

Prawa katalogu to rwxrwxrw- czyli 0776 przy ustawionym umask na 0001
Załóż plik poprzez:

touch plik2

Wyświetl jego prawa poprzez:

ls -al plik2

Prawa pliku to rw-rw-rw- czyli 0666 przy ustawionym umask na 0001

Na początek potocznie:
Wniosek: Zapalony bit umask gasi odpowiedni bit domyślnych praw obiektu (plik lub katalog) jeśli był on w danym obiekcie ustawiony

Sprawdzenie:

umask 0700
mkdir katalog3
touch plik3
ls -ald katalog3
ls -al plik3

Prawa pliku to ---rw-rw- czyli 0066, a prawa katalogu to ---rwxrwx czyli 0066.

Wniosek: umask wykonuje na prawach operację:
prawa_obiektu AND ( NOT umask)

Czyli NAND :-)

0

do momentu sprawdzenia rozumiem, dlaczego umask 0700 powoduje dla katalogu 0066 a nie 0077 ?

0

Po co komu się uczyć tych 0666 skoro zapis rwx jest czytelniejszy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1