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} ) :
u
g
o
wła
ś
ciciel
grupa podstawowa
obiekt
-
rwx
rw-
r--
student
laboratorium
przyklad.txt
d
rwx
---
---
student
laboratorium
swoje_dane
d
---
---
---
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"
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ę 4 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
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
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
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--