Prawa dostępu do plików przydzielane są trzem klasom użytkowników:
użytkownik - właściciel pliku (owner)
grupa - właściciel pliku (group; nie mylić z grupą do której
należy właściciel)
inni (other), czyli wszyscy pozostali użytkownicy, którzy mają
prawo używać systemu.
Istnieją trzy rodzaje prawa dostępu do pliku:
prawo do odczytu (read, r)
prawo do pisania do pliku (write, w)
prawo do uruchamiania pliku jako programu lub poszukiwania w katalogu
plików lub katalogów o znanych z góry nazwach (execute, x
)
Możliwość modyfikacji praw dostępu danego pliku ma tylko jego właściciel
(oraz administrator).
Prawa dostępu do danego pliku podaje się w postaci dziesięcioznakowego łańcucha,
np.: ‘-rwxr-xr-x’. Pierwszy znak mówi o typie pliku (- oznacza zwykły plik,
d oznacza katalog). Następne trzy znaki określają prawa właściciela, środkowe
- grupy-właściciela, a ostatnie trzy - innych użytkowników. Obecność litery
(r, w lub x) oznacza, że prawo jest dostępne danej klasie użytkowników,
znak minus oznacza brak takiego prawa.
Często prawa dostępu do plików przedstawiane są w postaci numerycznej (kod
ósemkowy). Np. prawa dostępu ‘rwxrwxrwx’ reprezentowane są liczbą ‘777’, natomiast
‘rw-r—r—‘ to ‘644’.
Do modyfikacji praw dostępu służy polecenie chmod, opisane
w sekcji 1 man pages. Podstawową składnię użycią można zapisać w następujący
sposób:
polecenie
(spacja)
komu?
jak zmienić?
jakie prawo?
(spacja)
jakiemu plikowi (plikom)
chmod
u(ser) g(roup) o(ther) a(all)
+ - =
r w x
(specyfikacja plików)
Np., polecenie: chmod go-wx Programy
powoduje odebranie grupie-właścicielowi oraz wszystkim innym użytkownikom systemu
praw do zapisu i wykonywania pliku/przeszukiwania katalogu w stosunku do pliku
lub katalogu Programy w katalogu bieżącym.
Użytkownik może ustawić domyślne prawa dostępu do plików, które sa przez
niego tworzone. Do tego celu służy polecenie umask. Jako parametr
podawana jest maska w postaci ósemkowej stanowiąca zanegowane docelowe prawa
dostępu do plików. Nowo tworzone pliki nigdy nie mają atrybutów x, a nowo
tworzone katalogi otrzymują go w dodatku do każdego atrybutu r. Np., aby domyślnie
tworzyć pliki z prawami dostępu rw-r---- (a katalogi rwxr-x---), maska podana
jako parametr polecenia umask musi mieć wartość 26.
Polecenie id wyświetla identyfikację użytkownika - jego uid
(numer identyfikacyjny) i loginname (nazwę logowania) oraz gid
i nazwę grupy, do której należy jako do swojej grupy podstawowej.
Polecenie groups wypisuje listę wszystkich grup, do których użytkownik
należy.
Polecenie newgrp grupa służy do tymczasowej zmiany grupy
podstawowej. Najważniejszym jego skutkiem jest to, że od jego wydania nowo
tworzone pliki będą jako właściciela grupowego miały grupę podaną jako parametr
polecenia newgrp. Użytkownik musi najpierw należeć do tak wskazanej
grupy, lub znać jej hasło.
Pytania kontrolne:
Jakie masz prawa dostępu do Twojego katalogu domowego?