Nadawanie praw dostępu dla plików i katalogów w Linuxie

W Linuxie każdy plik posiada określone prawa. Wyznaczają one dostępność pliku dla jego właściciela (owner), grupy, do której należy plik (group) i pozostałych użytkowników ( everyone).

Każdemu z tych użytkowników można przyznać następujące prawa:
  • prawo do odczytu ( read);
  • prawo do zapisu ( write);
  • prawo do wykonywania ( execute).

W przypadku katalogu powyższe prawa moją nieco inne znaczenie: prawo odczytu jest w zasadzie prawem do odczytu wszystkich plików zawartych w tym katalogu, prawo zapisu umożliwia zarazem utworzenie, jak i usunięcie danego pliku w tym katalogu, natomiast prawo wykonywania daje możliwość wejścia do katalogu za pomocą polecenia cd.

2 sposoby ustawiania praw dostępu do plików:
  • Wartości symboliczne
Zgodnie z symbolicznym zapisem praw: u oznacza właściciela pliku, g grupę a o pozostałych użytkowników. Aby nadać prawo odczytu właścicielowi pliku, należy wykonać komendę :
chmod u+r nazwa_pliku

Prawa odczytu są wyznaczone przez r (read), prawa zapisu przez w ( write), a wykonywania przez x ( eXecute). Można jednocześnie nadać więcej praw ( chmod g+rw..) , i różnym użytkownikom ( chmod u+rwx, g+rx, o+x...) . Można równie dobrze odebrać prawa ( chmod go-w..) , lub je doprecyzować ( chmod u=rw, go=r..) .

  • Wartości numeryczne (0-7)
Zgodnie z tą metodą, odpowiednie prawa dostępu ustawiamy za pomocą cyfr od 0 do 7. Oznaczają one kolejno prawa dla 3 typów użytkowników: właściciela, grupy i innych.
0 oznacza brak praw dostępu
1=x ( wykonywanie)
2=w (zapis)
3=wx (zapis,wykonywanie)
4=r (odczyt)
5=r-x (odczyt,wykonywanie)
6=rw- (odczyt, zapis)
7=rwx ( odczyt, zapis, wykonywanie)

Tak, np., aby nadać prawo odczytu i zapisu właścicielowi, a jedynie prawo odczytu grupie i innym , należy użyć komendy:
chmod 644_nazwa_pliku


Aby nadać właścicielowi prawo odczytu, zapisu i wykonywania a grupie i innym prawa odczytu i wykonywania, należy użyć komendy:
chmod 755 nazwa_pliku


Więcej informacji: UprawnieniaNaWirtualnych