Prawa dostępu do plików i katalogów

Każdy plik i katalog może mieć prawo:
  • czytania (read)
  • pisania (write)
  • wykonywania (execute)
Zapis literowy i liczbowy:

Litera Znaczenie Zapis liczbowy
r odczyt 4
w zapis 2
x uruchomienie 1
- brak praw 0

Aby wyświetlić prawa dostępu używamy polecenia

ls -l

Wyświetla się:

-rw-r--r-- 1 mariusz mariusz 131438 2007-10-08 12:29 plik.txt

Pierwsza kolumna składająca się z dziesięciu znaków opisuje prawa dostępu, przy czym pierwszy znak określa rodzaj pliku:
 
- (minus) - oznacza plik,
d - oznacza katalog,
l - dowiązanie itd

Znak drugi, trzeci i czwarty określa prawa właściciela do pliku, znak piąty, szósty i siódmy określa prawa grupy do której należy plik, natomiast znak ósmy, dziewiąty i dziesiąty prawa innych użytkowników systemu.

Do pliku plik.txt przypisano następujące uprawnienia:

prawo odczytu i zapisu dla właściciela (rw-) prawo odczytu dla grupy (r--) prawo odczytu dla pozostałych użytkowników (r--)

Prawa Wartość Znaczenie
--- 0 brak praw
r-- 4 odczyt
rw- 6 odczyt zapis
rwx 7 odczyt zapis uruchamianie
r-x 5 odczyt uruchamianie
--x 1  uruchamianie

W ten sposób za pomocą trzech cyfr możemy zmienić zbiór praw dostępu do pliku:
  • pierwsza cyfra - prawa właściciela, 
  • druga cyfra - prawa grupy, 
  • trzecia - prawa dla pozostałych użytkowników
Prawa dostępu Wartość Liczbowa Znaczenie
-rw------- 600 odczyt zapis właściciel grupa inni
-rw-r--r-- 644 zapis właściciel
odczyt grupa inni
-rw-rw-rw 666 odczyt zapis dla wszystkich
-rwx------ 700 odczyt zapis wykonywanie
właściciel
-rwxr-xr-x 755 odczyt zapis uruchomienie
właściciel odczyt wykonywanie grupa inni
-rwxrwxrwx 777 odczyt zapis wykonywanie
właściciel grupa inni
-rwx--x--x 711 odczyt zapis wykonywanie właściciel
wykonywanie grupa inni
drwx------ 700   katalog prawo odczyt zapis ma właściciel zawsze im (katalogom) nadajemy prawo dostępu x
drwxr-xr-x 755 katalog odczyt zapis dostęp właściciel grupa inni odczyt zawartości
drwx---x--x 711 katalog odczyt zapis dostęp właściciel grupa inni nie mogą odczytać zawartości ponieważ jest ona niedostępna (ls -l nie wyświetli pliku) trzeba znać dokładną nazwę

Jak zmienić właściciela pliku ??

chown mariusz plik.txt

Właśnie przypisaliśmy sobie plik o nazwie plik.txt

Jak zmienić cały katalog wraz z podkatalogami

chown -R mariusz Moje dokumenty

Jak zmienić grupę np. dla nowego użytkownika

chown.mariusz plik.txt

Zmiana praw dostępu do plików

chmod 600 plik.txt

Tym sposobom nadaliśmy plikowi o nazwie plik.txt prawo odczytu i zapisu

Zmiana praw dostępu do plików znajdujących sie w danym katalogu

chmod -R 644 /home/mariusz/Moje pliki

Metoda symboliczna

Kto Działanie Uprawnienie
u użytkownik + dać r odczyt
g grupa - zabrać w zapis
o inni = przypisać x wykonywanie
a wszyscy
s suid

chmod [ugoa][+-=][rwxs] plik.txt

Przykłady:

chmod +x test - plik test może być uruchomiony przez dowolnego użytkownika.
chmod u+x test - daje właścicielowi pliku test prawo jego wykonania.
chmod a-w test - odbiera wszystkim prawo do zapisu do pliku test
chmod a+r * - daje wszystkim użytkownikom prawo do odczytu do wszystkich plików znajdujących się w danym katalogu.

W Linuksie istnieje specjalne prawo dostępu zwane SUID (SetUID). Normalnie program może być uruchomiony przez użytkownika który jest jego właścicielem, ale są sytuacje gdy program ( należący do roota ) musi być uruchomiony przez osobę, do której nie należy (np.ping należy do roota a mimo tego, może być uruchomiony przez innych użytkowników). Aby umożliwić pozostałym użytkownikom korzystanie z takich programów trzeba nadać im specjalny atrybut SUID. Aby to zrobić należy liczbę określającą prawa dostępu poprzedzić cyfrą 4,

chmod 4755 /bin/ping lub w metodzie symbolicznej użyj opcji s: chmod +s /bin/ping

Prawa czytania, pisania i wykonania w takich plikach widoczne są jako rws a nie rwx

Jeśli masz jakieś pytania możesz zadać je Kliknij tu


Copyright ©  Mariusz Dybała, design by Mariusz Dybała