Lista kontroli dostępu do plików i folderów
(A cess C ontrol L ist )
+ Użytkownicy i Grupy
Access Control List, ACL (ang.)
Lista kontroli dostępu. W systemach uniksowych poprzez rozszerzenie możliwości systemu plików, umożliwia bardziej rozbudowaną
i dokładną kontrolę dostępu do plików, w porównaniu do standardowych uprawnień w systemie.
Standardowe uprawnienia w systemie plików systemu Unix obejmują
tylko: zapis, odczyt oraz wykonanie. Każde z uprawnień możemy
definiować dla: właściciela pliku (ang. owner), grupy, do której ten
plik należy (ang. group) oraz pozostałych użytkowników (ang. others).
Access Control List, ACL (ang.)
Za pomocą ACL możemy ustawić te trzy uprawnienia dla dowolnego użytkownika
i grupy. Często ACL definiuje też inne
uprawnienia. ACL w Windows (system plików NTFS) definiuje m.in. prawo do przejęcia
własności pliku. 1
1 Źródło: Wikipedia
Grupy i użytkownicy
Konta użytkowników służy do identyfikacji poszczególnych użytkowników w systemie i uzyskania dostępu do zasobów.
Nazwa konta użytkownika musi by niepowtarzalna.
Grupy i użytkownicy
Konta użytkowników korzystających z tych samych uprawnień można organizować w grupy.
Ułatwia to prac administratora gdyż nic musi nadawa
uprawnień pojedynczym kontom tytko jednorazowo grupie kont użytkowników. Stając się członkiem grupy, nowy
użytkownik dziedziczy wszystkie jej uprawnienia.
Grupy i użytkownicy
Można zatem wyobrazić sobie, że organizowanie użytkowników
w grupy to rodzaj takiej ‘pozytywnej’ segregacji.
Grupy i użytkownicy
Warto zauważyć również (co jest bardzo istotne), że użytkownik
może być jednocześnie członkiem wielu grup.
Grupy i użytkownicy w LINUX
Grupy i konta wbudowane
Jeśli chodzi o LINUXA to standardowo tworzonym na starcie kontem jest:
superużytkownik = administrator = root
użytkownik mający wszystkie prawa w systemie (do modyfikowania lub usuwania plików, uruchamiania programów i wykonywania
dowolnych poleceń możliwych do wykonania w systemie)
Grupy i użytkownicy w LINUX
Grupy i konta wbudowane
Konto administratora tworzone jest podczas instalacji systemu.
Tworzenie innych kont nie jest wymagane, ale mocno zalecane.
Dla dobra systemu nie powinno się przesiadywać cały czas na koncie roota
Grupy i użytkownicy w LINUX
Grupy i konta - pliki
Informacje o użytkownikach, grupach jak i hasłach do kont są w LINUXie przechowywane w plikach:
/etc/passwd - lista userów /etc/group - lista grup /etc/shadow - hasła
Oczywiście dostęp do tych plików jest ścieśle reglamentowany…
Grupy i użytkownicy w LINUX
Jeśli chodzi i sposób zarządzania użytkownikami i grupami w środowisku LINUX to można wymieć przynajmniej dwie metody:
Za pomocą GUI
Za pomocą terminala (odpowiednik linii komend CMD)
Grupy i użytkownicy w LINUX
Użytkownicy
1.Trzeba wiedzieć, że każdy użytkownik otrzymuje unikalny numer, który go jednoznacznie identyfikuje w systemie – UID (User ID)
2.Każdy użytkownik mający konto w systemie otrzymuje m.in. własny katalog domowy, stanowiący jego środowisko pracy
Stworzenie nowego użytkownika polega na dodaniu go do bazy użytkowników i następnie utworzeniu dla niego katalogu domowego
Do zarządzania użytkownikami są używane polecenia, np:
useradd, passwd, usermod, userdel, su
Grupy i użytkownicy w LINUX
Użytkownicy
Podstawową bazą użytkowników w Linuxie jest tzw. Plik haseł: /etc/passwd.
Każdy wiersz tego pliku zawiera informacje o jednym koncie i składa się z 7 wartości oddzielonych dwukropkami:
1. Nazwa użytkownika
2. x lub *oznaczający, że hasło znajduje się w innym pliku 3. UID
4. GID
5. Imię i nazwisko oraz opis użytkownika 6. Ścieżka katalogu domowego
7. Powłoka logowania (program uruchamiany po zalogowaniu)
Grupy i użytkownicy w LINUX
Użytkownicy
A gdzie te hasła?
Znajdują się w postaci zakodowanej w pliku /etc/ shadow
który może być odczytany tylko przez roota.
Grupy i użytkownicy w LINUX
Grupy
Tworzone są dla użytkowników charakteryzujących się daną cechą.
Dzięki grupom możliwe jest ustalenie uprawnień do
zasobów dla większego grona użytkowników jednocześnie - nie
zaś dla każdego indywidualnie.
Grupy i użytkownicy w LINUX
Grupy
1.Trzeba wiedzieć, że każda grupa otrzymuje unikalny numer, który jednoznacznie identyfikuje ją w systemie – GID (Group ID)
2.Jeżeli do istniejącej grupy zostanie dołączony kolejny użytkownik, będzie on miał takie same prawa jak pozostali
3.Każdy z użytkowników musi należeć przynajmniej do jednej grupy 4.Do zarządzania grupami są używane polecenia, np:
addgroup, delgroup, chgrp
Grupy i użytkownicy w LINUX
Grupy Wszystkie grupy zapisane są w pliku:
/etc/group
Każdy wiersz tego pliku zawiera informacje o jednej grupie i składa się z 4 wartości oddzielonych dwukropkami:
1. Nazwa grupy
2. Hasło - jeżeli wartość jest pusta, to hasło nie jest wymagane 3. GID
4. Lista użytkowników należących do tej grupy
22 http://miroslawzelent.pl/
Grupy i użytkownicy w WINDOWS
Grupy wbudowane
W omawianym systemie jest szereg wbudowanych grup lokalnych
• Administratorzy
• Goście
• Użytkownicy - członkowie tej grupy mogą uruchamiać
oprogramowanie już zainstalowane, nie mogą instalować nowego oprogramowania oraz zmienia konfiguracji systemu.
Grupy i użytkownicy w WINDOWS
Grupy wbudowane
• Użytkownicy zaawansowani — nie mają dostępu do plików innych użytkowników, nie mogą zmienia konfiguracji systemu natomiast mogą instalować oprogramowanie i sterowniki.
• Operatorzy kopii zapasowych — użytkownicy do niej należący mają dostęp do wszystkich plików przechowywanych w danym komputerze, ale tylko jeżeli posiadają oprogramowanie do wykonywania kopii zapasowych.
• Replikator — grupa ta ściśle służy replikacji i nie powinna zawiera żadnych użytkowników z wyjątkiem konta używanego do wykonywania usługi replikacji. Standardowo grupa ta jest używana przy replikacji domeny.
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
W wypadku komputerów z ‘kliencką’ wersją systemu WINDOWS (np. Windows 7/8/10) można tworzyć konta użytkowników za pomocą dostępnego w Panelu Sterowania
apletu Konta użytkowników:
Jednak jest to metoda uproszczona (nie dająca pełnej kontroli
nad procesem tworzenia konta).
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Istnieją jeszcze dwie metody tworzenia kont w systemach WINDOWS (wersji klienckiej):
-poprzez aplet Zarządzanie komputerem dostępny w panelu Sterowania
Oraz
-z linii komend CMD za pomocą poleceń NET USER
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Panel sterowania -> System i zabezpieczenia -> Narzędzia administracyjne
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Aplet ten daje dodatkowe możliwości – m.in.
resetowanie hasła.
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Istnieje również możliwość
dodania/usuwania użytkownika do/z grupy
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Jak widać tworzenie nowej grupy jest
jeszcze prostsze:
Grupy i użytkownicy w WINDOWS
Tworzenie kont i grup
Można również dodać/usunąć
użytkowników do/z grupy.
ACL w LINUX
Polecenie chmod systemu linuks pozwala definiować prawa dostępu do plików na trzech poziomach: dla właściciela pliku, grupy oraz pozostałych użytkowników systemu. W wielu przypadkach takie możliwości nie są wystarczające.
Nie można przy jego pomocy np. nadawać praw dostępu do plików dla wybranych użytkowników lub grup.
Rozwiązaniem tego problemu jest stosowanie listy kontroli dostępu (ACL – Access Control List), która jest dostępna w
większości dystrybucji Linuksa.
ACL w LINUX
Plikom i katalogom tworzonym w systemie linuks nadawane są prawa dostępu zależne od maski, którą
ustawia się poleceniem umask. Jest to polecenie wewnętrzne (wbudowane) powłoki. Polecenie mask
określa, które prawa mają być zamaskowane. Np.
polecenie:
$ umask 077
ACL w LINUX
polecenie:
$ umask 077
sprawi, że nowoutworzone pliki i katalogi nie będą miały żadnych praw na poziomie grupy oraz reszty użytkowników
systemu:
$mkdir katalog $touch plik
Prawa do pliku i katalogu zostały nadane zgodnie z maską 077:
drwx--- 2 anka anka 4096 2009-03-24 17:44 katalog
-rw--- 1 anka anka 0 2009-03-24 17:44 plik
ACL w LINUX
Takim podstawowym uprawnieniom odpowiadają odpowiednie wpisy na liście ACL. Można je wyświetlić za
pomocą polecenia getfacl . Polecenie getfacl wyświetla informacje o pliku:
nazwę, właściciela, grupę oraz ACL,
czyli listę wszystkich ustawionych praw dostępu do pliku. Każda linia opisuje prawa dostępu do jednej z trzech odstawowych klas użytkowników:
$getfacl katalog plik
# file: katalog
#owner: anka
#group: anka user::rwx group::--- other::---
#file: plik
#owner: anka
#group: anka
user::rw-
group::---
other::---
ACL w LINUX
Do modyfikacji listy ACL służy polecenie setfacl .
Umożliwia ona nadawanie praw dostępu do pliku dla
dowolnego użytkownika oraz dowolnej grupy.
ACL w LINUX
Na liście ACL występuje pięć typów wpisów. Określają one:
• ACL_USER_OBJ - prawa użytkownika (odpowiada podstawowym prawom na poziomie właściciela pliku - user)
• ACL_USER - prawa dowolnego użytkownika
• ACL_GROUP_OBJ - prawa grupy (odpowiada podstawowym prawom dla grupy - group)
• ACL_GROUP - prawa dowolnej grupy
• ACL_MASK – maskę (określa maksymalne prawa dostępu do pliku dla
wszystkich użytkowników z wyjątkiem właściciela (user) oraz innych (other)
• ACL_OTHER - prawa innych (odpowiada podstawowym prawom dla reszty
użytkowników systemu - other).
ACL w LINUX
Aby nadać użytkownikowi jas prawo pisania do pliku plik
należy użyć opcji m (modify) polecenia setfacl:
#setfacl –m u:jas:w plik
Efekt:
-rw--w----+ 1 anka anka 0 2009-03-24 17:44 plik
Pojawiło się prawo w dla grupy, które bez stosowania ACL oznaczałoby możliwość zapisu do pliku plik dla
członków grupy pliku. Jednak w przypadku ACL efektywne prawa dostępu dla członków grupy tworzone
jest na podstawie wpisu dotyczącego praw grupy (w tym przypadku: ---).
ACL w LINUX
Polecenie getfacl --omit-header wyświetla pełne informacje o prawach dostępu do pliku z pominięciem trzech
linii nagłówkowych:
user::rw
user:jas:-w
group::---
mask::-w
other::---
ACL w LINUX
Poza wpisem określającym prawa dla
użytkownika jas pojawił się wpis określający maskę. Dotyczy ona wszystkich użytkowników (poza właścicielem) i grup z listy ACL i oznacza, że prawo, które nie występuje w masce nie będzie nadane. W naszym przypadku żaden użytkownik, ani grupa nie uzyskają praw r i x.
Maska -w- i blokuje prawo odczytu pliku oraz wykonania dla wszystkich użytkowników z pominięciem właściciela pliku.
user::rw
user:jas:-w
group::---
mask::-w
other::---
ACL w LINUX
Do usuwania wpisów z listy ACL służy opcja x polecenia setfacl.
Polecenie:
#setfacl –x u:jas plik
usuwa prawa dostępu do pliku plik dla użytkownika jas. Z listy
ACL pliku plik usuwane są wpisy dotyczące użytkownika jas.
ACL w LINUX
Jeśli po nadaniu uprawnień do pliku dla określonego
użytkownika zmienimy maskę pliku, prawa dostępu do pliku mogą zostać ograniczone.
Zbyt restrykcyjna maska blokuje możliwość dostępu do pliku dla wszystkich użytkowników. 3
3 mars.iti.pk.edu.pl/~anka/
ACL w WINDOWS
Systemy Windows z rodziny NT posiadają w przeciwieństwie do Windows 9x „prawdziwą” obsługę użytkowników i grup.
Zarówno uprawnienia na poziomie udostępniania jak i na poziomie systemu plików NTFS bazują na listach kontroli dostępu (tzw. ACL – Access Control List). Pozwalają one na
bardzo szczegółowe zdefiniowanie uprawnień do
poszczególnych obiektów (np. plików, katalogów, udostępnień).
ACL w WINDOWS
Szczegółowość ACL w Windows wynika:
1. Z dużej ilości rodzajów i ich
szczegółowości uprawnień jakie można
przypisać szczególnie na poziomie systemu plików NTFS.
2. Z faktu że uprawnienia można nadawać (Zezwalaj) ale i odbierać (Odmów).
UWAGA: odbieranie uprawnień można stosować jedynie w uzasadnionych wypadkach – z reguły można osiągnąć
zamierzony cel bez ODMAWIANIA!!!
ACL w WINDOWS
Zaznaczenie pola „ Zezwalaj ” nadaje użytkownikowi (grupie) dane uprawnienia.
Uprawnienia każdego użytkownika do danego obiektu są
sumą uprawnień wynikających z praw jaki ma dany użytkownik oraz z praw jakie mają grupy do których on
przynależy.
ACL w WINDOWS
Zaznaczenie „odmawiaj” ma zastosowanie wtedy gdy
użytkownikowi chcemy zabrać prawo do danego obiektu mimo posiadania przez niego praw wynikających z jego przynależności
do danej grupy użytkowników.
Ujmując to inaczej jest to nadanie wyjątku („Odmawiaj”)
od reguły („Zezwól”).
ACL w WINDOWS
Uprawnienia do udziału sieciowego
Uprawnienia do udziału
(udostępnienia) sieciowego są wypadkową (różnicą) wynikającą z
uprawnień nadanych na poziomie udziału oraz na poziomie systemu
plików NTFS.
Czyli zawsze zostaną zastosowane
bardziej rygorystyczne uprawnienia.
ACL w WINDOWS
Uprawnienia do udziału sieciowego
Udostępniając zasób możesz każdemu użytkownikowi lub grupie przydzielić uprawnienia:
- Pełna kontrola - Zmiana
- Odczyt
ACL w WINDOWS
Uprawnienia do udziału sieciowego
Pełna kontrola - Jak sama nazwa wskazuje użytkownik z takimi prawami posiada pełną swobodę działania, może tworzyć nowe
pliki, odczytywać, modyfikować, zapisywać i usuwać już
istniejące oraz zmieniać uprawnienia i przejmować na własność..
Nadawaj te uprawnienie ze szczególną ostrożnością.
ACL w WINDOWS
Uprawnienia do udziału sieciowego
Zmiana - Użytkownik posiada te same uprawnienia co Pełna kontrola poza prawem do zmiany uprawnień i przejmowania na
własność, czyli może tworzyć nowe pliki, odczytywać,
modyfikować, zapisywać i usuwać już istniejące.
ACL w WINDOWS
Uprawnienia do udziału sieciowego
Odczyt - Użytkownik posiada prawo do odczytywania plików (w tym ich uruchamiania), nie może tworzyć nowych plików i
usuwać ani modyfikować już istniejących.
ACL w WINDOWS
Uprawienia do folderów i plików
Jeśli chodzi o uprawnienia jakie można nadać
użytkownikom i grupom do plików i folderów w systemie WINDOWS (NTFS) to mają one nieco inny wydźwięk w kontekście folderów i plików. Dlatego należy je rozważyć
osobno.
ACL w WINDOWS
Uprawienia do folderów
Uprawnienia do folderów pozwalają na kontrolę dostępu do poszczególnych folderów oraz do znajdujących się w nich
plików i podfolderów.
ACL w WINDOWS
Uprawienia do folderów
Wyświetlanie zawartości folderu (List Folder Contents)
Możliwe jest przeglądanie nazw plików i przenoszenie ich do
podfolderów znajdujących się w danym folderze
ACL w WINDOWS
Uprawienia do folderów
Odczyt (Read)
To samo co Wyświetlanie zawartości folderu oraz dodatkowo prawo do przeglądania informacji dotyczących właściciela danego folderu, jego uprawnień oraz atrybutów (Read-Only,
Hidden, System oraz Archive) zawartości plików i ich
uruchamiania
ACL w WINDOWS
Uprawienia do folderów
Zapis (Write)
Możliwe jest tworzenie nowych plików i podfolderów w danych folderze, zmiana atrybutów folderu oraz podgląd informacji o
dotyczących jego właściciela i uprawnień.
ACL w WINDOWS
Uprawienia do folderów
Zapis i Wykonanie (Read & Execute)
Pozwala wykonywać wszystkie czynności dozwolone dla uprawnień Odczyt oraz Wyświetlanie zawartości folderu oraz
dodatkowo przemieszczać się między folderami w celu odnalezienia innych plików, nawet jeśli użytkownik nie ma
uprawnień do tych folderów.
ACL w WINDOWS
Uprawienia do folderów
Modyfikacja (Modify)
Możliwe jest wykonanie wszystkich czynności dopuszczalnych dla uprawnień Zapis oraz Zapis i Wykonanie oraz usunięcie
danego folderu.
ACL w WINDOWS
Uprawienia do folderów
Pełna kontrola (Full Control)
Uprawnienie to pozwala na zmianę uprawnień, przejmowanie na własność danego folderu, kasowanie plików oraz
podfolderów oraz wykonywać wszystkie akcje dopuszczalne dla
pozostałych uprawnień do folderów dla systemu plików NTFS.
ACL w WINDOWS
Uprawienia do plików
Odczyt (Read)
Prawo to zezwala użytkownikowi na odczyt zawartości plików, podgląd jego atrybutów oraz uprawnień, a ponadto
identyfikację właściciela.
ACL w WINDOWS
Uprawienia do plików
Zapis (Write)
Uprawnienie to pozwala na nadpisanie pliku, zmianę jego atrybutów, podgląd uprawnień dla tego pliku oraz identyfikację
właściciela tego pliku.
ACL w WINDOWS
Uprawienia do plików
Zapis i Wykonanie (Read and Execute)
Pozwala na uruchamianie programów oraz dodatkowo
wykonywanie wszystkich czynności dopuszczalnych dla prawa
Odczyt.
ACL w WINDOWS
Uprawienia do plików
Modyfikacja (Modify)
Prawo to zezwala na modyfikację i usunięcie pliku, a także na wszystkie czynności, które można wykonywać dzięki prawom
Zapis oraz Zapis i Wykonanie
ACL w WINDOWS
Uprawienia do plików
Pełna kontrola (Full Control)
Prawo to pozwala wykonywać wszystkie akcje dopuszczalne dla pozostałych uprawnień oraz dodatkowo na zmianę uprawnień oraz przejęcie pliku na własność
Warto pamiętać, że dla partycji sformatowanych z użyciem NTFS do głównego katalogu przypisywane jest uprawnienie Pełna kontrola dla grupy Wszyscy.
Domyślnie więc, grupa Wszyscy ma pełny dostęp do wszystkich folderów oraz plików, tworzonych w katalogu głównym. Aby dostęp do plików i folderów mieli
tylko autoryzowani użytkownicy, należy zmienić domyślne uprawnienia do
tworzonych plików i folderów.
ACL w WINDOWS
Uprawienia do plików
Specjalne uprawnienia
Standardowe uprawnienia NTFS dają użytkownikom systemu
Windows 2000/XP wystarczające sposoby do kontroli i zabezpieczania dostępu do zasobów. Może jednak wystąpić sytuacja, kiedy
administrator systemu nie będzie w stanie określić poziomu dostępu do zasobów, jakiego wymagają użytkownicy. W takim przypadku
należy skorzystać ze specjalnych uprawnień systemu NTFS.
ACL w WINDOWS
Uprawienia do plików
Specjalne uprawnienia (c.d.)
W systemie Windows 2000 dostępnych jest 13 specjalnych uprawnień.
Odpowiednia kombinacja uprawnień specjalnych jest
odpowiednikiem uprawnień standardowych.
ACL w WINDOWS
Uprawienia do plików
Specjalne uprawnienia (c.d.)
Do uprawnień specjalnych zaliczamy następujące uprawnienia:
Przechodzenie przez
folder/Wykonywanie pliku
Wyświetlenie zawartości folderu/Odczyt danych
Odczyt atrybutów
Odczyt rozszerzonych atrybutów
Tworzenie plików/Zapis danych
Tworzenie folderów/Dołączanie danych
Zapis atrybutów
Zapis rozszerzonych atrybutów
Usuwanie podfolderów i plików
Usuwanie
Odczyt uprawnień
Zmiana uprawnień
Przejęcie na własność
ACL w WINDOWS
Uprawienia do plików
Specjalne uprawnienia (c.d.) - szczególnie przydatne
Zmiana uprawnień - uprawnienie to umożliwia zmianę
uprawnień do folderu lub pliku przez użytkownika.
ACL w WINDOWS
Uprawienia do plików
Specjalne uprawnienia (c.d.) - szczególnie przydatne
Przejęcie na własność - umożliwia ono użytkownikowi stanie się właścicielem danego pliku lub folderu. Jeżeli przypisujemy
specjalne uprawnienia do folderu, możemy wybrać czy uprawnienia będą odziedziczone przez podfoldery i pliki
znajdujące się w tym folderze. 4
4 http://www.soisk-me.pl/
ACL w WINDOWS
Kumulowanie uprawnień
Uprawnienia wielokrotne
Poprzez przypisanie różnych uprawnień dla użytkownika i dla grupy, do której on należy może się zdarzyć, iż będzie on miał przypisane różne uprawnienia do danego zasobu.
Aby poprawnie przypisywać uprawnienia, należy zrozumieć sposoby
nakładania się i dziedziczenia uprawnień dla systemu NTFS.
ACL w WINDOWS
Kumulowanie uprawnień
Kumulowanie uprawnień
Efektywne uprawnienia dla użytkownika są kombinacja uprawnień przypisanych dla niego samego oraz dla grupy, do której on należy.
Jeśli użytkownik posiada prawo do odczytu danego folderu
(uprawnienie Odczyt), a grupa, której jest członkiem posiada prawo
na zapis (uprawnienie Zapis), wówczas użytkownik ma oba rodzaje
uprawnień do tego katalogu (Odczyt oraz Zapis). Następuje wiec
kumulacja uprawnień dla użytkownika i dla grupy, do której on
należy.
ACL w WINDOWS
Kumulowanie uprawnień
Kumulowanie uprawnień
Przykład 1. Kumulacja uprawnień 5
5 http://www.strony.toya.net.pl/~rbanasiak