Strona główna DevOps Jak nadawać uprawnienia do plików w Linuxie?

Jak nadawać uprawnienia do plików w Linuxie?

przez Paweł Cyrklaf
11 komentarzy 114,6K wizyt

Jeśli miałeś okazję pracować z systemem Unix-owym, to zapewne nie raz spotkałeś się z brakiem możliwości usunięcia pliku lub katalogu. Skoro tutaj trafiłeś, to prawdopodobnie zastanawiasz się w jaki sposób możesz nad tym zapanować, jak nadawać uprawnienia do zasobów w Linuxie oraz jak korzystać z polecenia chmod? 🧐

Dwa sposoby nadawania uprawnień

W systemie Linux występują tylko 3 uprawnienia i można je przypisywać do: właściciela (user-owner), grupy (group) lub pozostałych użytkowników (others). Powyższe uprawnienia można nadawać wspomnianym już poleceniem chmod, które pozwala określić poziom dostępności dla plików lub katalogów.

chmod [OPCJE] TRYB Plik(i)

Wartym uwagi jest fakt, że uprawnienia bazują na stałym schemacie, który można sobie zapisać, np. na kartce w formie ściągi lub po prostu zapamiętać. Jest również opcja dla leniuchów i można korzystać z gotowych generatorów, które są dostępne w sieci 😉

Wartości liczbowe

W poniższej tabeli zebrałem różne opcje praw dostępu, z których można korzystać zmieniając uprawnienia.

Wartość ósemkowaWartość literowaPrawa dostępu
7rwxczytanie, pisanie, wykonanie
6rw-czytanie, pisanie,
5r-xczytanie, wykonanie
4r–czytanie
3-wxpisanie, wykonanie
2-w-pisanie
1–xwykonanie
0brak
Liczbowe kombinacje praw dostępu

Zobaczmy więc jak to wygląda w praktyce 🤨

Przykład 1

chmod 755 plik.txt

Co w tym przypadku oznaczają liczby 755?

7odczyt, zapis, wykonanie
5odczyt, wykonanie
5odczyt, wykonanie
Wyjaśnienie chmod 755

Wiemy teraz, że na plik.txt nałożyliśmy pełne uprawnienia dla właściciela, natomiast pozostali użytkownicy otrzymali tylko odczyt i wykonanie.

Przykład 2

Jeśli powyższe polecenie zmodyfikujemy do postaci z samymi 7 (777), damy pełne uprawnienia dla wszystkich użytkowników systemu.

chmod 777 plik.txt

Przykład 3

A co w przypadku kiedy mamy katalog i chcemy dla wszystkich plików, które się w nim znajdują nadać uprawnienia dające pełne możliwości? Nazwę pliku wystarczy zastąpić znakiem *.

chmod 777 *

Przykład 4

Na koniec przykład, w których mamy katalog, a w nim podkatalogi i pliki. Jeżeli chcielibyśmy wszystkim zasobom zmienić uprawnienia, skorzystamy z parametru -R (recursive).

chmod -R 777 nazwa_katalogu

Kombinacje znakowe

Warto również zaznaczyć, że istnieje też drugi sposób dodawania uprawnień, w którym wykorzystuje się kombinacje znakowe.

ZnakZnaczenie
+Dodawanie uprawień
Odejmowanie uprawnień
=Ustawienie uprawnienia
uUżytkownik
gGrupa
oPozostali
aWszyscy
Znakowe kombinacje praw dostępu

Przykład 1

Nadawanie uprawień wszystkim użytkownikom do czytania, pisania oraz wykonania uzyskamy w poniższy sposób.

chmod a+rwx plik.txt

Przykład 2

Jeżeli chcemy wszystkim użytkownik zabrać powyższe uprawnienia, wystarczy wykonać identyczne polecenie, zamieniając jedynie znak plusa na minus.

chmod a-rwx plik.txt

Przykład 3

Załóżmy teraz, że chcemy zmienić uprawienia tylko dla grupy z rwx na rw (odczyt i zapis).

chmod g=rw plik.txt

Przykład 4

Na koniec ostatni przykład, w którym chcemy właścicielowi dodać uprawnienia rwx, dla grupy tylko rw, a dla pozostałych użytkowników tylko r.

chmod u=rwx,g=rw,o=r plik.txt

Podsumowanie

W tym artykule to już wszystko. Mam nadzieję, że od teraz magiczne cyferki przy poleceniu chmod nie będą dla Ciebie straszne i biegle będziesz zarządzać uprawnieniami w systemie! 🙂

Jeżeli chcesz być na bieżąco z artykułami i jesteś ciekawy co będzie dalej, daj lajka na profilu FB, a przede wszystkim zapisz się do newslettera! Spodobał Ci się artykuł? Z pewnością zaciekawią Cię inne wpisy na naszym blogu lub filmy na kanale YT!

4 37 votes
Oceny

Powiązane wpisy

Subscribe
Powiadom o
guest
11 komentarzy
Inline Feedbacks
View all comments

Strona wykorzystuje cookies i przetwarza dane zgodnie z zasadami opublikowanymi w Polityce Prywatności. Jeżeli nie wyrażasz zgody na przetwarzanie danych, zmień ustawienia swojej przeglądarki. Wybierając "OK", zgadzasz się na warunki przetwarzania. OK Więcej