Strona główna > Konsola, Polecenia > Uprawnienia do systemu plików część 2

Uprawnienia do systemu plików część 2

Witam ponownie! Tym razem przedstawię jak można zmieniać uprawnienia do zasobów plikowych oraz jak można zmieniać właściciela dla pliku czy też folderu. Do tego celu będę wykorzystywał polecenia takie jak: chmod, chown a do utworzenia plików czy też folderów touch (pliki) oraz mkdir (foldery). No to zaczynamy!

Najpierw utworzymy plik do tego użyjemy polecenia touch:

touch plik01

Sprawdźmy jakie są domyślnie nadane uprawnienia do pliku:

ls -l
-rw-rw-r-- 1 user grupa 0 lip  3 13:45 plik01

Jak widać zostały nadane uprawnienia do odczytu oraz zapisu dla twórcy pliku oraz dla podstawowej grupy do jakiej należy użytkownik. Reszta osób posiada uprawnienie do odczytu (wyniki oczywiście na poszczególnych systemach będą się nieznacznie różnić – chodzi mi przede wszystkim o nazwę użytkownika i grupy).

Omówię teraz pokrótce polecenie chmod.

Polecenie chmod służy do zmiany uprawnień do plików oraz folderów. Podstawowa składnia polecenia wygląda następująco:

chmod [opcje] tryb_dostępu plik

Jeśli chodzi o opcje to jak dla mnie całkiem przydatnymi mogą być:

-c lub --changes - to spowoduje wyświetlenie tylko tych
      plików czy folderów, których prawa uległy zmianie
-R lub --recursive - ta opcja z kolei umożliwia zmianę
     uprawnień do katalogu wraz z całą jego zawartością

Zatem teraz przejdźmy do samego trybu ustawiania uprawnień, a jest to trochę bardziej skomplikowane.

Zacznę więc od trybu numerycznego na początku może się wydawać trudny, ale jest całkiem wygodny. W poprzedniej części pisałem o wartościach jakie przyjmują poszczególne uprawnienia i dla przypomnienia podaje je jeszcze raz:

r (odczyt) - 4
w (zapis) - 2
x (wykonanie) - 1
brak uprawnień - 0

Wiec jeśli chcemy nadać uprawnienia to musimy zsumować odpowiednie liczby dla każdego elementu z osobna, jakiemu nadajemy uprawnienia (właściciel, grupa, inny). Może prościej będzie to na przykładzie:

Chcemy nadać do pliku o nazwie plik01 uprawnienia odczytu i zapisu dla właściciela pliku oraz dla grupy, natomiast nie chcemy nadawać żadnych uprawnień dla wszystkich innych osób.

6 - taka wartość jest dla właściciela (suma r=4 oraz w=2)

6- taka wartość jest dla grupy (suma r=4 oraz w=2)
0 - taka wartość jest dla innych (brak uprawnień to 0)

i zapisujemy w polceniu:

chmod 660 plik01

Teraz nadamy uprawnienia dla pliku wykonywalnego. Plik ten nosi nazwę skrypt. Uprawnienia dla właściciela mają być następujące: odczyt, zapis, wykonanie. Uprawnieniami dla grupy będą odczyt i wykonanie, a dla innych odczyt i wykonanie. Tak będą się przedstawiały następujące wartości dla uprawnień:

7 - taka wartość jest dla właściciela (suma r=4, w=2 oraz x=1)

6 - taka wartość jest dla grupy (suma r=4 oraz x=1)

6 - taka wartość jest dla innych (suma r=4 oraz x=1)

i zapisujemy to w poleceniu:

chmod 766 skrypt

Kolejną możliwością nadawania uprawnień jest korzystanie z formatu trybu symbolicznego. W pełni ten format przedstawia się następująco:

[ugoa...][[+-=][rwxXstugo...]...][,...]

Może jest to trochę nieciekawe na pierwszy rzut oka, ale mam nadzieje, że uda mi się to jakoś rozjaśnić.

u - oznacza właściciela pliku
g - oznacza grupę
o - oznacza wszystkich innych
a - oznacza wszystkich
+ - oznacza dodanie uprawnień do już istniejących
- - oznacza zabranie uprawnień od już istniejących
= - oznacza przypisanie dokładnie tych uprawnień,
    które znajdują się po prawej stronie znaku równości
r,w,x - tego chyba nie trzeba tłumaczyć :D
X - ma przeważnie sens stosowania, wówczas, gdy jest dodawane
    uprawnienie. Użycie tego symbolu skutkuje włączenie
    uprawnienia wykonania dla pliku, ale tylko i wyłączenie
    wtedy, gdy istnieje już takie prawo dla grupy czy innych.
u - oznacza uprawnienia właściciela
g - oznacza uprawnienia grupy
o - oznacza uprawnienia dla innych
s oraz t - zostaną uzupełnione lub ich opis zostanie umieszczony
    w innym artykule

To teraz spróbuje przedstawić wyżej wymienioną teorię w na przykładach:

Nasz plik testowy posiada obecnie następujące uprawnienia:

rw – dla właściciela

r – dla grupy

r – dla innych

chmod u+x plik

po wydaniu polecenia zostanie dodane uprawnienie wykonania dla właściciela pliku, więc uprawnienia będą wyglądały dla niego tak: rwx

Nasz plik testowy posiada obecnie następujące uprawnienia:

rw – dla właściciela

r – dla grupy

r – dla innych

chmod ug=rwx plik

po wydaniu polecenia zarówno właściciel pliku jaki grupa będą posiadać pełne uprawnienia do pliku

Nasz plik testowy posiada obecnie następujące uprawnienia:

rw – dla właściciela

r – dla grupy

brak uprawnień – dla innych

chmod u=rw,o=r plik

Nasz plik testowy posiada obecnie następujące uprawnienia:

rwx – dla właściciela

rx – dla grupy

rx – dla innych

chmod o-x plik

po wydaniu polecenie uprawnienie wykonania zostanie zdjęte z innych i będzie wyglądało następująco: r

Następnym poleceniem jakie chce omówić jest polecenie służące do zmiany właściciela oraz grupy dla pliku. Polecenie to nazywa się chown.

Jak można się domyśleć polecenie to pozwala na zmianę właściciela pliku oraz grupy przypisanej do pliku. Polecenie to jest zdecydowanie mniej skomplikowane od poprzedniego, więc od razu zaprezentuję jego składnie:

chown [opcje] [użytkownik]:[grupa] plik...
Przydatne opcje:
--reference=PLIK - przepisuje właściciela i grupę wybranego pliku
-R - przypisanie rekurencyjne do folderu i do wszystkiego co się w tym folderze znajduje

Teraz bez owijania w bawełnę przedstawię parę przykładów, ponieważ nie ma się co nad tym poleceniem rozwodzić.

Przykłady:

chown user plik.txt 

Powyższe polecenie czyni użytkownika „user” właścicielem pliku o nazwie „plik.txt”, ponieważ samo użycie jednej nazwy po chmod dotyczny zmiany właściciela.

chown :grupa plik.txt

Powyższe polecenie przypisuje grupę o nazwie „grupa” do pliku o nazwie „plik.txt”.

chown user:grupa plik.txt

Z kolei to polecenie zmienia właściciela oraz grupę dla pliku o nazwie „plik.txt”.

chown -R user folder

Tutaj dokonujemy zmiany właściciela folderu oraz wszystkich elementów jakie się w tym folderze znajdują.

Należy oczywiście pamiętać, że aby poleceniam zmi

Uf to by było na tyle! W kolejnej części postaram się przedstawić polcenia całkiem przydatne jak setfacl oraz getfacl.

Pozdrawiam oraz zachęcam do czytania podręczników systemowych dotyczących poleceń (man polecenie, info polecenie).

  

Kategorie:Konsola, Polecenia
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: