Prawa dostępu i własności


meta: prawa dostępu i własności, chmod, chown, chgrp


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ę.

Jeżeli czytałeś/aś wcześniejszy mój artykuł o uprawnieniach w systemie Kali Linux to najprawdopodobniej kojarzysz czym są oznaczenia r w x t s.

Rodzaje uprawnień

Uprawnienie read

Zacznijmy od litery r czyli read. Tłumacząc z języka angielskiego na polski słowo read oznacza czytać. W uprawnieniach plik lub katalog który posiada takie uprawnienie otrzymuje prawo do czytania zawartości.

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.

Uprawnienie t

Litera t daje możliwość tworzenia plików bez obawy, że jakiś inny użytkownik usunie go. Działa jedynie na katalogi i to w taki sposób, iż tylko ten który stworzył plik w katalogu z tym uprawnieniem 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

Jak już wiadomo mamy pięć opcji które możemy nadać poszczególnym kategoriom użytkowników. Teraz poznajmy komu możemy nadać poznane uprawnienia. Spójrzmy poniżej:

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 + nadajemy / dodajemy uprawnienia, natomiast jak w matematyce – jest odwrotnością +.

Polecenie chmod

Jakie uprawnienia nadajemy oraz grupy użytkowników jakim je przekazujemy już poznaliśmy. Teraz zajmijmy się poleceniem dzięki któremu będziemy mogli te uprawnienia zastosować. 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 mię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ć.

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 artykule będzie polecenie służące zmianie właściciela grupowego pliku. Nowym właścicielem grupowym pliku może być użytkownik który należy do danej grupy.

chgrp [grupa] [plik]

Podsumowanie

Artykuł 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.


meta: prawa dostępu i własności, chmod, chown, chgrp