<- Poprzedni rodział -- Następny rozdział ->

Rozdział 14: Prawa dostępu i własności

W systemach linuksowych najbardziej rozbudowanymi funkcjami są prawa dostępu i własności. Wielu użytkowników przesiadających się z Windowsa na Linuksa miewa problemy z ogarnięciem tematu nadawania i odejmowania uprawnień. Gdy spojrzymy na to zagadnienie pod względem funkcjonalności i możliwości jakie pozyskamy, można stwierdzić, że warto poświecić trochę czasu na naukę.

Rodzaje uprawnień

Jeżeli czytałeś rozdział o uprawnieniach w systemie Kali Linux to najprawdopodobniej kojarzysz czym są oznaczenia r w x t s. W tym rozdziale rozwiniemy temat tam rozpoczęty.

Uprawnienie read

Zacznijmy od litery r czyli read. Tłumacząc z języka angielskiego na polski słowo read oznacza czytać. Jeżeli użytkownik posiada takie uprawnienie do pliku to może odczytać zawartoś w nim zawartą.

Uprawnienie write

Kolejną literą jest litera w która powzięta została od angielskiego słowa write co oznacza pisać. Jeżeli użytkownik posiada takie uprawnienie może dokonywać zmian w pliku lub katalogu.

Uprawnienie execute

Z angielskiego słowo execute oznacza wykonać. Czyli trzecie uprawnienie oznaczone literą x daje możliwość wykonywania pliku, czyli jego uruchomienia.

Uprawnienie t

Litera t daje możliwość tworzenia katalogów bez obawy, że inny użytkownik usunie go. Działa jedynie na katalogi. Tylko ten który stworzył plik w katalogu posiadającym to uprawnienie może go usunąć. Oczywiście nie wliczając w to administratora.

Uprawnienie s

Ostatnia do poznania litera to s, która jeżeli nadana pojedynczemu użytkownikowi umożliwi uruchomienie plików tak jakby robił to właściciel. Uprawnienie nie dotyczy jednak katalogów.

Jeżeli s nadamy na grupę zadziała tak samo z tym wyjątkiem że dotyczy również katalogów.

Kategorie użytkowników

u (user) – symbolizuje właściciela;

g (group) - symbolizuje grupę;

o (others) – symbolizuje pozostałych użytkowników którzy nie są w powyższych dwóch;

a (all) – symbolizuje wszystkie powyższe kategorie;

Dodawanie i odejmowanie

Jest jeszcze jedna grupa znaków którymi będziemy się posługiwać, a mam na myśli znaki matematyczne. Dokładniej chodzi mi o dwa czyli + (dodawanie) oraz - (odejmowanie). Oczywiście zdaje sobie sprawę, że wiesz co to jest i do czego służy. Przy pomocy znaku + (plus) nadajemy / dodajemy uprawnienia, natomiast jak w matematyce - (minus) jest odwrotnością +.

Polecenie chmod

O uprawnieniach wiemu już dość dużo, teraz zajmijmy się poleceniem dzięki któremu będziemy mogli je wykorzystać. Otóż dzięki wcześniej poznanym instrukcjom polecenie chmod nadaje je plikom i katalogom. Spójrzmy na poniższy przykład.

chmod [opcja] [tryb] [plik]

kali@kali:~$ touch chmod kali@kali:~$ ls -l chmod -rw-r--r-- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod a-rwx chmod kali@kali:~$ ls -l chmod ---------- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod u+rwx chmod kali@kali:~$ ls -l chmod -rwx------ 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod g+rw chmod kali@kali:~$ ls -l chmod -rwxrw---- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod o+r chmod kali@kali:~$ ls -l chmod -rwxrw-r-- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$

W pierwszej linijce stworzyliśmy plik o nazwie chmod przy pomocy polecenia touch.

Następne polecenie pokazuje jakie uprawnienia są nadane na plik dla poszczególnych użytkowników.

Czwarta linijka odbiera uprawnienia wszystkim kategoriom co udowadniają dwie następne linijki.

Kolejna nadaje uprawnienia czytania(r), zapisywania(w) oraz wykonania(x) właścicielowi(u) pliku co wizualnie zostało przedstawione przy pomocy polecenia ls -l.

Ostatnie kilka linijek wykonuje te same czynności lecz tym razem uprawnienia nadawane są dla grupy oraz dla użytkowników poza tymi dwiema kategoriami.

Nadawanie uprawnień w jednej linii

W poprzednim przykładzie nadaliśmy uprawnienia do plików każdej kategorii użytkowników oddzielnie. Możemy skrócić zapis i nadać uprawnienia w jednej linii. Wystarczy tylko oddzielić je przecinkami. Poprzedni przykład można zapisać tak:

kali@kali:~$ ls -l chmod -rwxrw-r-- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod a-rwx chmod kali@kali:~$ ls -l chmod ---------- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$ chmod u+rwx, g+rw, o+r chmod chmod: invalid mode: ‘u+rwx,’ Try 'chmod --help' for more information. kali@kali:~$ chmod u+rwx,g+rw,o+r chmod kali@kali:~$ ls -l chmod -rwxrw-r-- 1 kali kali 0 Oct 12 15:27 chmod kali@kali:~$

Jak widzimy uprawnienia, dla właściciela, grupy oraz pozostałych użytkowników zostały oddzielone przecinkami. Zapamiętajmy, że pomiędzy poszczególnymi uprawnieniami nie może być spacji co obrazuje błąd w linii 7 i 8. Jak przedstawiają dwie kolejne linijki uprawnienia nadaliśmy bezbłędnie. Jest to krótszy sposób lecz czy wygodniejszy musisz sam ocenić.

Wykorzystanie notacji liczbowej do nadania uprawnień

Prezentowany powyżej sposób nie jest jedyny i z tego co analizuję różne materiały dotyczące Linuksa to bardzo często wykorzystywany jest inny polegający na nadawaniu uprawnień przy pomocy liczb. Każde uprawnienie z poprzedniej notacji ma swój odpowiednik w formie liczbowej. Spójrzmy na poniższą listę:

--- 0 --x 1 -w- 2 -wx 3 r-- 4 r-x 5 rw- 6 rwx 7

Wzorując się na powyższym schemacie aby nadać uprawnienie do odczytu wykorzystać musimy liczbę 4. Natomiast gdybyśmy chcieli nadać komplet uprawnień czyli rwx skorzystać możemy z liczby 7. Bardzo ciekawą zastosowano w tym logikę. Rozdzielając każde z uprawnień na oddzielne elementy czyli przypisując uprawnieniom literowym, uprawnienia liczbowe otrzymamy:

r – 4 w – 2 x – 1

Sumując te trzy liczby otrzymamy 7. Oto logiczny sposób tego narzędzia polegający na sumowaniu uprawnień.

Sposób nadawania uprawnień przy pomocy notacji liczbowej nazywamy inaczej ósemkowym. Wyjaśnienie czym jest system ósemkowy wykracza poza zakres tego kursu dlatego jeżeli jesteś zainteresowany wykorzystaj google.

Rozumiesz już w jaki sposób ta notacja działa natomiast jeżeli od razu zabrałeś się za wykorzystanie go w linii poleceń to możliwe, że wynik mógł trochę Cię zaskoczyć. Spójrzmy na poniższy przykład:

kali@kali:~$ ls -l test ---------- 1 kali kali 108 Apr 25 15:36 test kali@kali:~$ chmod 7 test kali@kali:~$ ls -l test -------rwx 1 kali kali 108 Apr 25 15:36 test kali@kali:~$

Zauważ że uprawnienia rwx zostały nadane jedynie dla pozostałych użytkowników. Chcąc nadać uprawnienia wszystkim trzem grupom należy skorzystać ze zbioru liczb 777. W przypadku gdy skorzystasz z dwóch liczb uprawnienia zostaną nadane na pozostałych użytkowników oraz grupy.

Sposób nadawania uprawnień zależy od osoby która je nadaje. Moim zdaniem ważne jest by działało. To rozwiązanie prezentuję Ci ponieważ w trakcie swojej pracy możesz spotkać z kimś kto korzysta z notacji liczbowej, dlatego warto wiedzieć jak ono działa.

Zmiana właściciela pliku

Poznaliśmy już możliwości jakie daje nam polecenie chmod. Nadszedł czas poznać polecenie które służy zmianie właściciela pliku czyli chown. Nie jest bardziej skomplikowane niż poprzednie co widać po jego składni.

chown [nazwa użytkownika] [plik]

Należy pamiętać, że aby zmienić właściciela pliku musimy być zalogowani na konto aktualnego właściciela lub konto administratora.

Zmiana właściciela grupowego pliku

Ostatnim poleceniem jakie poznamy w tym rozdziale będzie polecenie służące zmianie właściciela grupowego pliku. Nowym właścicielem grupowym pliku może być tylko użytkownik który należy do danej grupy.

chgrp [grupa] [plik]

Podsumowanie

Rozdział jest rozwinięciem już poprzednio napisanego, dotyczącego uprawnień w systemie Kali Linux. Mógłbym rozpisać się bardziej. Przyznam, że początkowo temat miał być podzielony na trzy oddzielne artykuły, ale nauczyłem się posługiwać uprawnieniami poprzez praktykę dlatego skróciłem treść dosyć mocno. Myślę że jesteś w stanie posługiwać się powyższymi poleceniami na tyle by móc iść dalej. Jeżeli jednak nie, to daj mi znać postaram się popracować nad rozwinięciem tego tematu. Ostatecznie możesz poszukać w internecie.

<- Poprzedni rodział -- Następny rozdział ->

Strona stosuje pliki cookies w celu profilowania, oraz analizuje statystykę ruchu. Prosimy o zapoznanie się z naszą polityką prywatności i wyrażenie zgody na podejmowane działania. W przypadku braku zgody i pozostaniu na niej strona może nie działać właściwie.

Akceptuję warunki zawarte w Polityce Prywatności

Nie akceptuję warunków i chcę opuścić stronę