Zaprogramuj Życie
Jak nadawać uprawnienia do plików w Linuxie?
Jeśli miałeś okazję pracować z systemem Unix-owym, to prawdopodobnie 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, iż 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.
7 | rwx | czytanie, pisanie, wykonanie |
6 | rw- | czytanie, pisanie, |
5 | r-x | czytanie, wykonanie |
4 | r– | czytanie |
3 | -wx | pisanie, wykonanie |
2 | -w- | pisanie |
1 | –x | wykonanie |
0 | — | brak |
Zobaczmy więc jak to wygląda w praktyce
Przykład 1
chmod 755 plik.txtCo w tym przypadku oznaczają liczby 755?
7 | odczyt, zapis, wykonanie |
5 | odczyt, wykonanie |
5 | odczyt, wykonanie |
Wiemy teraz, iż 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.txtPrzykł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. o ile chcielibyśmy wszystkim zasobom zmienić uprawnienia, skorzystamy z parametru -R (recursive).
chmod -R 777 nazwa_kataloguKombinacje znakowe
Warto również zaznaczyć, iż istnieje też drugi sposób dodawania uprawnień, w którym wykorzystuje się kombinacje znakowe.
+ | Dodawanie uprawień |
– | Odejmowanie uprawnień |
= | Ustawienie uprawnienia |
u | Użytkownik |
g | Grupa |
o | Pozostali |
a | Wszyscy |
Przykład 1
Nadawanie uprawień wszystkim użytkownikom do czytania, pisania oraz wykonania uzyskamy w poniższy sposób.
chmod a+rwx plik.txtPrzykł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.txtPrzykład 3
Załóżmy teraz, iż chcemy zmienić uprawienia tylko dla grupy z rwx na rw (odczyt i zapis).
chmod g=rw plik.txtPrzykł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.txtPodsumowanie
W tym artykule to już wszystko. Mam nadzieję, iż od dzisiaj 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ś interesujący 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!
Jak nadawać uprawnienia do plików w Linuxie?
Paweł Cyrklaf