Ostatnio zastanawiałem się, jaka jest różnica między trzema a czterema cyfrowymi uprawnieniami do plików numerycznych. Otrzymuję uprawnienia numeryczne, uruchamiając. stat --format "%a" $file_name
Jaka jest różnica między 0644 a 644?
bash
permissions
files
NerdOfCode
źródło
źródło
Odpowiedzi:
Pierwsza cyfra w czterocyfrowym uprawnieniu to suma ustawionego identyfikatora użytkownika (4), ustawionego identyfikatora grupy (2) i lepkiej (1). Trzycyfrowe uprawnienie jest jak czterocyfrowe uprawnienie z pierwszą cyfrą ustawioną na zero. A zatem:
Przykłady zastosowań uprawnień do czwartej cyfry
Jeśli wykonywany jest plik o ustawionym identyfikatorze użytkownika, jest on wykonywany tak, jakby był właścicielem pliku, a nie wykonującym. Tak więc, na przykład,
/bin/mount
zwykle jest własnością root i ma uprawnienia 4755, gdzie 4 oznacza, że nawet jeśli zostanie wykonane przez zwykłego użytkownika, będzie działać z uprawnieniami właściciela (root).Ustawienie identyfikatora grupy w katalogu jest przydatne do udostępniania plików.
Lepki bit jest używany w katalogach, takich jak
/tmp
, aby wszyscy użytkownicy mogli tworzyć pliki, ale uniemożliwiał nie-właścicielom usuwanie plików innych osób. Zatem uprawnienia/tmp
wynoszą zwykle 1777, gdzie 1 oznacza, że bit lepki jest ustawiony.Dokumentacja
Od
man chmod
:źródło