Prawa dostępu w systemach uniksowych
Prawa dostępu to kluczowy mechanizm w systemach uniksowych, który określa uprawnienia do odczytu, edycji i uruchamiania plików. Mają one na celu zapewnienie bezpieczeństwa, stabilności i kontroli prywatności w środowiskach wielodostępnych.
Kategorie użytkowników
- user – właściciel pliku
- group – grupa, do której należy właściciel pliku
- other – pozostali użytkownicy
Rodzaje praw dostępu
Dla każdej z kategorii dostępne są trzy podstawowe prawa:
- read (r) – prawo do odczytu, wartość: 4
- write (w) – prawo do zapisu, wartość: 2
- execute (x) – prawo do wykonywania, wartość: 1
Przykład zapisu uprawnień: -rwxr-xr-- 1 fizyk fizyk 2010 kwi 16 13:09 plik
. Tłumaczenie:
- t – typ pliku
- u – uprawnienia właściciela
- g – uprawnienia grupy
- o – uprawnienia pozostałych
Zapis liczbowy praw dostępu
Prawa dostępu można zapisać w formie liczbowej (ósemkowej), gdzie każda cyfra reprezentuje uprawnienia:
rwx r-x r--
→ 754(8)
Znaczenie praw dostępu dla katalogów
W przypadku katalogów prawa dostępu mają specyficzne znaczenie:
- Prawa x pozwalają wejść do katalogu.
- Prawa r umożliwiają przeglądanie zawartości katalogu.
- Prawa w pozwalają tworzyć i usuwać pliki/katalogi w nim.
Specjalne prawa dostępu
Oprócz podstawowych uprawnień, pliki i katalogi mogą mieć przypisane trzy specjalne bity:
- SetUserID (SUID) – wykonanie pliku z uprawnieniami właściciela.
- SetGroupID (SGID) – nowe pliki dziedziczą grupę katalogu.
- Sticky – ogranicza możliwość usuwania plików w katalogu do właściciela lub roota.
Przykłady zastosowania
Przykład pliku z uprawnieniami SUID i SGID:
-rwsr-sr-x 1 root root 591344 2005-12-12 18:01 /usr/bin/cdrdao
Ustawienie prawa Sticky na katalogu /tmp:
drwxrwxrwt 13 root root 4096 2006-09-26 02:05 /tmp
Zmiana i sprawdzanie praw dostępu
Do zmiany uprawnień służy polecenie chmod
, natomiast do sprawdzenia praw dostępu można użyć ls -l
.