Prawa dostępu w Linuksie

Transkrypt

Prawa dostępu w Linuksie
Prawa dostępu w Linuksie
Każdy plik i każdy katalog w systemie operacyjnym Linuks posiada zestaw praw dostępu
określających, kto i jakie prawa ma w stosunku do pliku i/lub katalogu. Wszyscy użytkownicy
są podzieleni na trzy grupy:
 właściciel pliku
 grupa użytkowników
 wszyscy inni użytkownicy („reszta świata”)
Każda grupa użytkowników może mieć następujące prawa do pliku i/lub katalogu:
 prawo do czytania
 prawo do pisania
 prawo do wykonania
Brak prawa jest oznaczany znakiem – (minus), posiadanie takiego prawa znakiem + (plus).
Zestaw praw dostępu jest wyświetlany jako pierwsza informacja o pliku i/lub katalogu w
następującym formacie
rodzaj_obiektu prawa_właściciela prawa_grupy prawa_reszty_świata
Prawa są zawsze wyświetlane w następującej kolejności:
czytanie pisanie wykonanie
Zestaw symboli wykorzystywanych w metodzie symbolicznej:
r
w
x
u
g
o
prawo do czytania (ang. Read-czytaj)
prawo do pisania (ang. Write-pisz)
prawo do wykonania (ang eXecute-wykonaj)
user – użytkownik lub właściciel
group – grupa
other – inni lub reszta świata
a
all – wszyscy
Przykład nadanych praw:
-rw-r-x--x
właściciel pliku może czytać i pisać, grupa czytać i wykonać, inni wykonać.
drwxrw-r-- właściciel katalogu może czytać, pisać i wykonać, grupa pisać i czytać, inni
tylko czytać (litera d oznacza directory - katalog.
Uwaga: nadanie prawa wykonania dla pliku powoduje, że Linuks traktuje plik jak
wykonywalny, jak program, natomiast to samo prawo dla katalogu jest równoznaczne z
prawem „zaglądania do jego wnętrza”, otworzenia go i przeglądania podkatalogów.
Metoda symboliczna (względna)
Składnia polecenia chmod (change mod):
chmod prawa nazwa_obiektu
Przykłady:
plik ma nazwę mojedane i jest umieszczony w katalogu bieżącym.
chmod +x-w mojedane
Plikowi mojedane zostało nadane prawo do wykonania, a odebrane prawo do pisania,prawo
do wykonania pozostało nienaruszone. Ustawienia obowiązują dla wszystkich kategorii
użytkowników.
chmod u+x-w mojedane
Plikowi mojedane zostało nadane prawo do wykonania przez użytkownika, zabrane prawo do
pisania przez użytkownika, prawo do czytania przez użytkownika pozostało nienaruszone,
prawa do tego pliku dla grupy i reszty świata pozostały niezmienione.
Metoda binarna (bezwzględna)
Metoda bezwzględna zmienia wszystkie prawa jednocześnie. Wykorzystuje do tego celu
maskę binarną zawierającą wszystkie prawa każdej kategorii. Trzy kategorie, każda z trzema
prawami, jest zgodna z formatem oktalnym. Liczba oktalna ma podstawę liczenia osiem.
Każda cyfra ósemkowa przetłumaczona na format binarny ma trzy cyfry binarne. Trzy cyfry
ósemkowe w liczbie są tłumaczone każda na trzy cyfry binarne, co daje dziewięć cyfr,
dokładnie tyle, ile wynosi liczba praw. Każda cyfra ósemkowa dotyczy jednej kategorii
użytkowników zawsze w tej samej kolejności, właściciel, grupa, reszta świata. Pierwsza cyfra
ósemkowa dotyczy właściciela, druga grupy, a trzecia reszty świata. Cyfry ósemkowe są
najpierw tłumaczone do ich formy dwójkowej, a następnie każda z tych cyfr dwójkowych jest
używana do nadania prawa odczytu, zapisu i wykonania, zawsze w tej kolejności. Pierwsza
cyfra dwójkowa nadaje lub zabiera prawo odczytu, druga zapisu, trzecia wykonania. Prawo
jest włączone, kiedy cyfra binarna to 1, wyłączone, kiedy 0. Zwróć uwagę na to, że prawa
odczytu, zapisu i wykonania mogą być powiązane odpowiednio z liczbami 4, 2 i 1. Określenie
cyfry ósemkowej polega na prostym zsumowaniu tych liczb.
Przykłady:
chmod 741 mojedane to nadanie praw –rwxr----x
741 to binarnie 111 100 001, czyli u+r+w+x g+r-w-x o-r-w+x
chmod 563 mojedane to nadanie praw –r-xrw--wx
563 to binarnie 101 110 011, czyli u+r-w+x g+r+w-x o-r+w+x
Uwaga:jeżeli nadaje się prawa do pliku innym użytkownikom, należy pamiętać o tym, by
poprawnie ustawić prawa do katalogów, w których ten plik się znajduje. Jeżeli użytkownik
ma skorzystać z nadanych mu praw, to najpierw musi dostać się do katalogu zawierającego
ten plik. Nawet, jeżeli katalog ten ma poprawnie ustawione prawa pozwalające na dostęp do
niego, to jego katalog nadrzędny może dostępu zabraniać i plik będzie dla takiego
użytkownika nadal niedostępny! Wszystkie katalogi w drzewie muszą być dla tego
użytkownika dostępne!
Prawa dostępu
r
w
x
Cyfra
4
2
1
Liczba dwójkowa
100
010
001