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