background image

ARR1303 Sieci komputerowe  

doc. dr inŜ. Jarosław Szymańda & Zespół dydaktyczny 

    
MODYFIKACJA  UPRAWNIE

MODYFIKACJA  UPRAWNIE

MODYFIKACJA  UPRAWNIE

MODYFIKACJA  UPRAWNIEŃ

Ń

Ń

Ń  STANDARDOWYCH  I  ROZSZERZONYCH  (ACL)

  STANDARDOWYCH  I  ROZSZERZONYCH  (ACL)

  STANDARDOWYCH  I  ROZSZERZONYCH  (ACL)

  STANDARDOWYCH  I  ROZSZERZONYCH  (ACL)    

DOST

DOST

DOST

DOSTĘ

Ę

Ę

ĘPU  DO  PLIK

PU  DO  PLIK

PU  DO  PLIK

PU  DO  PLIKÓ

Ó

Ó

ÓW  I  KATALOG

W  I  KATALOG

W  I  KATALOG

W  I  KATALOGÓ

Ó

Ó

ÓW  (SYSTEMY  LINUKS  TUT. 

W  (SYSTEMY  LINUKS  TUT. 

W  (SYSTEMY  LINUKS  TUT. 

W  (SYSTEMY  LINUKS  TUT.  OPEN 

OPEN 

OPEN 

OPEN  SUSE)

SUSE)

SUSE)

SUSE)    

 
 

Wprowadzone w pierwszych wersjach systemów uniksowych poziomy nadawania uprawnień 

dostępu  do  plików  i  katalogów  są  niewystarczające.  W  większości  implementacji  poziomy  te 
określane  są  dla  trzech  podstawowych  kategorii  uŜytkowników:  właściciela,  grupy  oraz 
pozostałych  uŜytkowników.  W  kaŜdej  z  wymienionych  kategorii  moŜliwe  jest  nadawanie 
uprawnień w zakresie:  
 
a)  plików: czytania, zapisu(modyfikacji) oraz uruchamiania (odpowiednich dla danego systemu 
 

plików-programów i skryptów) 

 
b)  katalogów:  listowania  zawartości,  zakładania  nowych  oraz  otwierania  (zmiana  wybranego 
 

katalogu na katalog bieŜący) 

 

Przykład ( 

wła

ś

ciciel

{

u

user

grupa

{

g

group

} inni{o, other} ) : 

 

 

wła

ś

ciciel 

grupa podstawowa 

obiekt 

rwx 

rw- 

r-- 

student 

laboratorium 

przyklad.txt 

rwx 

--- 

--- 

student 

laboratorium 

swoje_dane 

--- 

--- 

--- 

student 

laboratorium 

repozytorium 

 
 

W  pierwszej  pozycji  właścicielem  pliku  („

-

”)  "przyklad.txt"  jest  zarejestrowany  w  systemie 

uŜytkownik  "student".    Administrator  systemu  przydzielił  go  do  podstawowej  grupy  uŜytkow-
ników  "laboratorium".  "student"  jako  właściciel  tego  pliku  ma  pełne  prawa  dostępu  czyli: 
czytanie,  modyfikację  oraz  w  tym  przypadku  teoretyczną  moŜliwość  jego  uruchamiania;  która 
byłaby sensowna tylko w przypadku skryptu – zawierającego poprawne syntaktycznie polecenia 
powłoki  systemu  operacyjnego).  Inni  uŜytkownicy  naleŜący  do  grupy  "laboratorium"  są 
uprawnieni do czytania i modyfikacji tego pliku, a „pozostali uŜytkownicy” (nie naleŜący do tej 
grupy) są uprawnieni tylko do przeglądania zawartości. 
 
 

Druga pozycja określa uprawnienia dostępu do katalogu (pliku specjalnego - oznaczenie 

d

”) 

"swoje_dane".  Właściciel  "student"  odebrał  wszelkie  uprawnienia  dostępu  do  tego  katalogu 
wszystkim innym uŜytkownikom systemu – moŜe np. w nim zamieszczać dane objęte ochroną. 
 
 

Trzecia pozycja to przykład, w którym  "student" ODEBRAŁ wszelkie uprawnienia dostępu 

dla  wszystkich  uŜytkowników,  takŜe  dla  siebie  samego,  z  wyjątkiem  moŜliwości  zmiany 
uprawnień!  Aby  "student"  jako  właściciel  mógł  przejść  do  katalogu  "repozytorium"  MUSI  w 
pierwszej kolejności przywrócić odpowiednie dla siebie uprawnienia dostępu. 
 
W  systemach  uniksowych  modyfikacje  podstawowych  uprawnień  dostępu  realizowane  jest 
poprzez polecenie "chmod": 
 
a) wersja znakowa: 
 
   w tej wersji odpowiednie określanie uprawnień wykorzystuje następujące definicje: 
 
   r  

to  uprawnienie do "czytania", "listowania katalogów"  

   w  to  uprawnienie do "pisania" , "modyfikacji"  
   x  to  uprawnienie do "uruchamiania skryptów, programów", "zmiany katalogów"  
 

background image

ARR1303 Sieci komputerowe  

doc. dr inŜ. Jarosław Szymańda & Zespół dydaktyczny 

 
- nadanie pełnych uprawnień dostępu do zasobu 
 

  chmod u+rwx,g+rwx,o+rwx przyklad.txt 

  
efekt: 
 

-rwxrwxrwx  student laboratorium przyklad.txt 

 
- odebranie wszelkich uprawnień dla "pozostałych uŜytkowników" 
 

  chmod o-rwx przyklad.txt 

 
efekt: 

-rwxrwx--- student laboratorium przyklad.txt 

 
- odebranie uprawnień do modyfikacji dla grupy oraz dodanie praw do czytania 
  dla "innych, pozostałych" 
    

  chmod g-w,o+r przyklad.txt 

  
efekt: 

-rwxr-xr--  student laboratorium przyklad.txt 

 
itp. 
 
b) wersja numeryczna: 
 

 

w  tej  wersji  odpowiednie  określanie  uprawnień  wykorzystuje  działania  z  systemu  "dwójkowego" 

 

(binarnego) 

w zakresie trzech bitów (najstarszy z prawej strony

    
r  uprawnienie do "czytania"  

 

zdefiniowane  jest przez liczbę   tj. 2 do potęgi drugiej 

w  uprawnienie do "pisania"   

 

zdefiniowane  jest przez liczbę  2  tj. 2 do potęgi pierwszej 

x  uprawnienie do "uruchamiania" zdefiniowane  jest przez liczbę  1  tj. 2 do potęgi zerowej 
    
 

Suma tych liczb (4 + 2 + 1) określa uprawnienia dostępu (osobno dla kaŜdej kategorii 

 

uŜytkowników !) : 

 

       

uprawnienia bez ogranicze

ń

        rwx to liczba 7 = 4 + 2 + 1  

   uprawnienia czytania/pisania      rw- to liczba 6 = 4 + 2 + 0  
   uprawnienia czytania/uruchamiania r-x to liczba 5 = 4 + 0 + 1  
   uprawnienia czytania             r-- to liczba 4 = 4 + 0 + 0  
   uprawnienia pisania/uruchamiania  -wx to liczba 3 = 0 + 2 + 1        
   uprawnienia pisania              -w- to liczba 2 = 0 + 2 + 0     
   uprawnienia uruchamiania         --x to liczba 1 = 0 + 0 + 1           
   brak uprawnie

ń

 dost

ę

pu           --- to liczba 0 = 0 + 0 + 0  

    
 
- nadanie pełnych uprawnień dostępu do zasobu 
  

chmod 777 przyklad.txt 

  
efekt: 

-rwxrwxrwx  student laboratorium przyklad.txt 

background image

ARR1303 Sieci komputerowe  

doc. dr inŜ. Jarosław Szymańda & Zespół dydaktyczny 

 
- odebranie wszelkich uprawnień dla "pozostałych uŜytkowników" 
 

  chmod 770 przyklad.txt 

 
efekt: 

-rwxrwx---  student laboratorium przyklad.txt 

 
- odebranie uprawnień do modyfikacji dla grupy oraz dodanie praw do czytania  
  dla "innych" 
    

  chmod 754 przyklad.txt 

  
efekt: 

-rwxr-xr-- student laboratorium przyklad.txt 

 
itp. 
 
 
Wersja  numeryczna  (b)  jako  "szybsza"  wykorzystywana  jest  częściej  przez  administratorów 
systemu.  Wersja  znakowa  (a)  uwaŜana  jest  za  "wygodniejszą"  dla  uŜytkowników. 
Oba stwierdzenia są oczywiście bardzo subiektywne i nie naleŜy się nimi sugerować. 
 

NajwaŜniejszą  i  "obiektywną"  róŜnicą  jest  sposób  ich  działania.  W  przypadku  wersji 

znakowej  modyfikacji  podlega  wyłącznie  uprawnienie  wskazane  dla  danej  kategorii 
uŜytkowników (np. „chmod g-x”,  gdzie data modyfikacji uprawnienia będzie zarejestrowana w 
systemie  tylko dla „g-x”) W przypadku natomiast wersji numerycznej zawsze następuje "nowe 
przypisanie"  uprawnień  (nawet  takich  samych).  Innymi  słowy,  jeŜeli  dany  zasób  był  określony 
przez  (-rwxr-xr-x)    a  polecenie  „chmod  754”  wprowadza  zmianę  (-rwxr-xr--)  to  w  systemie 
nowe daty zostaną zarejestrowane takŜe dla pozostałych uprawnień. 
 
Uwaga:  Wprowadzane  ograniczenia  dostępu  do  zasobów  w  systemach  uniksowych  nie 
dotycz
ą administratora systemu (root). 
 

Zaawansowana metoda modyfikacji uprawnień dostępu ACL 

 ( Access Control Lists) 

Rozszerzony system kontroli uprawnień do zasobów wprowadzono w celu wzmocnienia załoŜeń 

systemowych w zakresie ochrony danych oraz autoryzacji dostępu. 

 
 
Wybrane elementy i przykłady uprawnień ACL w systemie Linux SUSE 
 
- odczyt standardowych uprawnień 
 

ls -l przyklad.txt 

 
efekt: 
 

-rw-r--r--  student laboratorium przyklad.txt 

 

odczyt rozszerzonych uprawnień dostępu ACL

 ( polecenie getfacl)  

 

getfacl przyklad.txt 

background image

ARR1303 Sieci komputerowe  

doc. dr inŜ. Jarosław Szymańda & Zespół dydaktyczny 

 

efekt: 
 

# file: przyklad.txt 
# owner: student 
# group: laboratorium 
user::rw- 
group::r-- 
other::r-- 

 
Na podstawie uzyskanych powyŜej informacji stwierdzamy brak dodatkowych uprawnień ACL 
 

dodanie dodatkowych uprawnień ACL

 do czytania/modyfikacji pliku "przyklad.txt" 

  przez/dla uŜytkownika "

dorota

"  (polecenie setfacl

   

setfacl 

-m

 user:

dorota

:rw- przyklad.txt 

 
- odczyt standardowych uprawnień 
 

ls -l przyklad.txt 

 
efekt: 

-rw-r--r--

+

 student laboratorium przyklad.txt 

 
PROSZĘ  ZWRÓCIĆ  UWAGĘ  NA  WYSTĄPIENIE  ZNAKU  "

+

"  świadczy  on  o  nadanych 

plikowi  uprawnień  ACL  (sygnalizacja  ogólna),  aby  określić  szczegółowe  ACL  wykonujemy 
polecenie getfacl  
 

- odczyt rozszerzonych uprawnień dostępu ACL  

 

getfacl przyklad.txt 

 
efekt: 
 

# file: przyklad.txt 
# owner: student 
# group: laboratorium 
user::rw- 
user:

dorota

:rw- 

group::r-- 
mask::rw- 
other::r-- 

 
Ostatnia  informacja  potwierdza  występowanie  dodatkowych  uprawnień  ACL;  tut.  dla  uŜytko-
wnika "

dorota

" są to (rw-) - numerycznie (6) 

 
 
 

odebranie rozszerzonych uprawnień dostępu ACL

 dla uŜytkownika "

dorota

 

setfacl 

-x

 user:

dorota

 przyklad.txt 

 

getfacl przyklad.txt 

background image

ARR1303 Sieci komputerowe  

doc. dr inŜ. Jarosław Szymańda & Zespół dydaktyczny 

 
efekt: 
 

# file: przyklad.txt 
# owner: student 
# group: laboratorium 
user::rw- 
group::r-- 
other::r-- 

 
-    dodanie dodatkowych uprawnień ACL do pliku „przyklad.txt” dla uŜytkowników   
 

"

dorota

" i "

marek

"  

   

setfacl 

-m

 user:

dorota

:rw-

,marek

:--x przyklad.txt 

 

dodanie  dodatkowych  uprawnień  ACL

  do  pliku  "przyklad.txt"  dla  uŜytkowników  

 

NALEśĄCYCH  DO  GRUPY  PROJEKTOWEJ

  "ogrody".  UPRAWNIONYMI  DO 

 

MODYFIKACJI PLIKU BĘDĄ: "

student

" oraz członkowie naleŜący do grupy "

ogrody

 
#opcjonalne wstępne ustawienie uprawnień standardowych (

-rwxr--r--

  chmod 

744

 przyklad.txt

 

#dodanie uprawnień ACL dla grupy "

ogrody

  setfacl 

-m

 group:

ogrody

:rwx przyklad.txt 

 

 
  getfacl przyklad.txt 

 
efekt: 
 

# file: przyklad.txt 
# owner: 

student

 

# group: laboratorium 
user::rwx 
group::r-- 
group:

ogrody

:rwx 

other::r-- 

 
- odebranie rozszerzonych uprawnień dostępu ACL dla grupy "

ogrody

setfacl 

-x

 group:

ogrody

 przyklad.txt  

 
itp. 
 

odebranie (usunięcie)

 

WSZYSTKICH

 dodatkowych uprawnień ACL 

setfacl 

-b

 przyklad.txt  

getfacl przyklad.txt 

 
efekt: 
 

# file: przyklad.txt 
# owner: student 
# group: laboratorium 
user::rw- 
group::r-- 
other::r--