Przejdź do głównej zawartości

Linux cz.3 (RHCSA) - podstawy środowiska linux - podstawowe polecenia - uprawnienia plików i katalogów

Czas zająć się uprawnieniami! Jak to w większości systemów operacyjnych bywa tam gdzie są użytkownicy muszą być jakieś zasady. Posiadamy swoje pliki, którymi nie chcemy dzielić się z nikim. Inne natomiast chcemy pokazać. Możemy też udostępnić jakieś narzędzie (skrypt) innemu użytkownikowi itd. Linux oczywiście posiada możliwość ustalenia co komu i gdzie wolno a czego nie. Ale do rzeczy..

Kilka poleceń :

# chmod - Polecenie zmieniające uprawnienia dla plików lub katalogów (możliwość odczytu, zapisu etc)

# chown - Zmiana właściciela oraz grupy dla plików i katalogów

# ls -l - Wylistowanie zawartości katalogu z przełącznikiem "-l" pokaże jakie uprawnienia posiadają pliki i katalogi w danej lokalizacji.

# ll - Dokładnie to samo co powyżej  ll = ls -l (skrócona wersja), jak komu wygodniej (oczywiście nie we wszystkich istniejących dystrybucjach linux ale mówimy tu o RedHat) .

# umask - Definiuje lub wyświetla domyślne uprawnienia jakie stosowane są w momencie tworzenia plików lub katalogów

Zanim pójdziemy dalej zastanówmy się do kogo w Linux należy plik lub katalog?

Do wyboru mamy 3 kategorie :
  1. User ( użytkownik ) - właściciel, twórca danego pliku lub katalogu
  2. Group (grupa) - grupa użytkowników mogąca posługiwać się danym plikiem lub katalogiem
  3. Other (inni) - wszyscy inni użytkownicy w danym systemie
Poza powyższym dla plików i katalogów można przydzielać uprawnienia odczytu, zapisu i wykonywania. Co oznaczamy (r,w,x lub 4,2,1) jak poniżej : 


Operacja  znak liczba opis
Read (odczyt) r 4 Przeglądanie zawartości pliku, odczyt
Write (zapis) w 2 Zapis do pliku, możliwość modyfikacji
Execute (wykonanie) x 1 Uruchomienie np.: skryptu

Wszystko stanie się jasne gdy przećwiczymy to zagadnienie. Po wydaniu polecenia ls -l poza nazwami plików na ekranie mamy widoczne jeszcze 6 kolumn.


prawa dostępu ilość dowiązań użytk. grupa rozmiar w bajtach data utworzenia nazwa pliku
-rwxr-xr-x 2 user01 users 4532 May 09 11:15 plik1.txt


Zadanie 1
Zmień właściciela pliku.

Odp: # chown nazwa_użytkownika nazwa_pliku np.: # chown user02 plik1

Zadanie 2
Zmień grupę wybranego pliku.

Odp: # chgrp nazwa_grupy nazwa_pliku np.: # chgrp grupa2 plik1 lub chown :grupa2 plik1

Zmiany po wykonanych zadaniach obserwujemy wykonując polecenie "ls -l".

Skoro wiemy już jak zmieniać użytkowników (właścicieli) oraz grupy dla plików teraz nadszedł czas na możliwości ich odczytu, zapisu i wykonania.

Jak wskazałem wcześniej do zmiany praw dostępu dla pliku stosujemy polecenie "chmod" i w drugiej jego części możemy stosować wartości numeryczne (ang. absolute setting) lub symboliczne oznaczenia literowe (ang. symbolic setting).

Stosując postać symboliczną wybieramy, które uprawnienia mają zostać zmienione czyli czy chodzi o użytkownika (-u), grupę(-g), pozostałych (-o) czy wszystkich (-a) lub też ich kombinacji dalej podajemy czy  dane prawa nadajemy (+) czy odbieramy (-) i na koniec wybieramy o jakie uprawnienie chodzi tj.: odczyt (-r), zapis(-w) lub wykonanie (-r).

Postać ogólna :

chmod [u|g|o|a][+][-][r|w|x|] nazwa_pliku 

Dla przykładu by dodać prawo do wykonywania dla grupy i innych wpisujemy :

chmod go+x plik 

Aby odebrać prawa zapisu i odczytu dla właściciela, grupy i innych piszemy :

chmod ugo-rw plik lub chmod a-rw plik

Z tym , że nie wszystkie systemy obsługują symbol "a" oznaczający wszystkich.

Drugim sposobem jest ustawianie praw dostępu metodą numeryczną. W tej metodzie chodzi o to by za pomocą liczb ósemkowych podać wprost jakie uprawnienia mają właściciel, grupa i inni.

0 lub -         - brak praw dostępu
1 lub -x       - wykonywanie
2 lub -w-     - zapis
3 lub -wx    - zapis i wykonanie
4 lub r-       - odczyt
5 lub r-x     - odczyt i wykonanie
6 lub rw-    - odczyt i zapis
7 lub rwx   - odczyt, zapis, wykonanie

W takim układzie wydanie polecenia :

# chmod 644 plik1

Umożliwia właścicielowi odczyt i zapis natomiast grupa i pozostali mogą tylko odczytywać. 

Podczas ustawianie praw do odczytu, zapisu i wykonania należy się zastanowić nad wyborem odpowiedniej liczby dla właściciela, grupy i pozostałych :

user   grupa   inni 
?        ?        ?

666 - rw-rw-rw-       -wszyscy odczytują i zapisują 
777 - rwx-rwx-rwx   - wszyscy odczytują zapisują i uruchamiają
644 - rw-r-r-            - wszyscy odczytują ale modyfikuje i zapisuje tylko właściciel pliku 

Tak więc za nami wstępnie temat uprawnień , grup, odczytu, zapisu i wykonywania plików. 

Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)