Uprawnienia do plików i folderów

Damian Stlemach

Temat w porównaniu do systemów windowsowych można powiedzieć łatwy, prosty i przyjemny, bo w odróżnieniu od systemów z Doliny Krzemowej, w Ubuntu oraz we wszystkich innych dystrybucjach Linux, występują tylko 3 uprawnienia. Są nimi odczyt, zapis oraz wykonanie, a przypisuje się je pojedynczo lub zbiorczo odpowiednio do właściciela (user-owner), grupy (group) nadrzędnej, jakiej właściciel jest członkiem oraz do pozostałych (others), czyli wszystkich innych użytkowników niebędących właścicielami zasobu lub członkami grupy będącej właścicielem.

Przy nadawaniu uprawnień stosuje się albo zapis słowny, stanowiący skrót od tych trzech uprawnień: read (r), write (w), execute (x) lub też zapis liczbowy stanowiący sumę liczba odpowiadających za dane uprawnienie; 4 to odczyt, 2 to zapis, a 1 to wykonanie. Pełne uprawnienia to 7, gdyż to suma tych trzech liczb. Dla wielu system liczbowy jest bardziej intuicyjny do stosowania aniżeli zapis literowy, sami oceńcie, który dla Was jest wygodniejszy.

Uprawnienia do danego pliku lub też katalogu wyświetlimy stosując polecenie ls -l

drwxrwxr-x damian damian 4096 Nov 5 08:38 katalog1
  • d – to oznaczenie katalogu
  • rwx – pełne prawa dla właściciela
  • rwx – pełne prawa dla grupy
  • r-x – prawa do odczytu i wykonania dla pozostałych, brak prawa do zapisu

Takie uprawnienia oznaczają, że użytkownik będący właścicielem katalogu (tutaj damian) oraz jego grupa mają pełne prawa, a pozostali mogą jedynie odczytywać zawartość katalogu, bez możliwości tworzenia w nim zasobów.

Do modyfikacji uprawnień stosuje się polecenie chmod

Przykłady użycia (zapis literowy):

Dodanie pozostałym (others) prawa do zapisu w katalogu/pliku:

sudo chmod o+w nazwa_katalogu/pliku (lub ścieżka)

Odebranie właścicielowi (user) prawa do wykonania (x), z jednoczesnym odebraniem grupie (group) prawa do odczytu (r) w katalogu/pliku:

sudo chmod u-x,g-r nazwa_katalogu/pliku (lub ścieżka)

Jednoczesne nadanie pełnych praw dla wszystkich (all):

sudo chmod a+rwx nazwa_katalogu/pliku (lub ścieżka)

Jednoczesne odebranie pełnych praw dla wszystkich (all):

sudo chmod a-rwx nazwa_katalogu/pliku (lub ścieżka)

Uprawnienia wykorzystując notację literową nadajmy poszczególnym użytkownikom (u – właściciel, g – grupa, o – pozostali, a – wszyscy) z plusem i odpowiemy literami odpadającymi uprawnieniom (r – odczyt, w – zapis, x – wykonanie), zabieramy natomiast minusem. Stosując notację literową zawsze modyfikujemy istniejące ustawienia, nie zmieniając pozostałych.

Przykłady użycia (zapis liczbowy):

Pełne prawa dla wszystkich w katalogu/pliku:

sudo chmod 777 nazwa_katalogu/pliku (lub ścieżka)

Pełne prawa dla właściciela (4+2+1), prawa do odczytu i zapis dla grupy (4+2) oraz tylko odczyt (4) dla pozostałych w katalogu/pliku:

sudo chmod 764 nazwa_katalogu/pliku (lub ścieżka)

Pełne prawa dla właściciela (4+2+1), prawa do odczytu dla grupy (4) oraz brak uprawnień (0) dla pozostałych w katalogu/pliku:

sudo chmod 740 nazwa_katalogu/pliku (lub ścieżka)

Jednoczesne odebranie pełnych praw dla wszystkich:

sudo chmod 000 nazwa_katalogu/pliku (lub ścieżka)

Nadając uprawnienia poprzez notację liczbową zawsze nadpisujemy poprzednie ustawienia.