Robert Berliński
Ćw. III
1) Prawa dostępu do plików
2) W jaki sposób dowiedzieć się jakie prawa
ustawiono dla danego pliku?
3Jak interpretować informacje dot. praw
dostępu?
4) Jak nadać użytkownikowi lub grupie jakiś
plik?
5) Nadanie praw właścicielowi, grupie i
innym
Wpisz ls -l nazwa_pliku
home:/temp/katalog# ls -l example
-rw-r--r-- 1 root root 0 2006-04-29 17:27 example
Weźmy powyższą informację: -rw-r--r--
Jest tutaj 10 znaków.
Pierwszy znak oznacza zawsze typ pliku (np. zwykły plik,
albo katalog).
Znak
Znaczenie
-
zwykły plik
b
specjalny plik blokowy (ang. Block)
c
specjalny plik znakowy (ang. Character)
d
katalog (ang. Directory)
l
małe ("L") - dowiązanie symboliczne (ang. Symbolic
link)
p
nazwany potok
s
gniazdo
chown - zmień właściciela,
chgrp - zmień grupę
chown użytkownik nazwa_pliku - zmienia
użytkownika, grupa pozostaje,
chown użytkownik: nazwa_pliku - zmienia
użytkownika, natomiast grupę na główną,
chown użytkownik:grupa nazwa_pliku - zmienia
użytkownika i grupę,
chown :grupa nazwa_pliku - zmienia tylko
grupę,
chgrp grupa nazwa_pliku - zmienia grupę, jak
wyżej,
-
Np.:
-
chmod a+w nazwa_pliku
-
Litera
Znaczenie
-
a (ang. all) - wszyscy (użytkownik, grupa,
inni)
-
u (ang. user) - użytkownik - właściciel pliku
-
g (ang. group) - grupa, której przypisano
plik
-
o (ang. others) - inni
ZnakZnaczenie
+ nadanie prawa (dodanie)
- odebranie prawa
=
zastąpienie prawa - kasuje poprzednie
i zastępuje nowym
chmod a+w plik.txt
– nadaje wszystkim uprawnienia do zmiany 'plik.txt',
chmod o-x plik.txt
– usuwa możliwość wykonywania 'plik.txt' przez pozostałych
użytkowników,
chmod go=rx plik.txt
– grupa oraz pozostali użytkownicy będą mogli tylko czytać i
wykonywać.
chmod
7
7
7
to:
właściciel
-
grupa
-inni
rozkład cyfr:
Znaki
Cyfra Znaczenie
--- 0
brak praw
--x
1
tylko wykonywanie
-w- 2
tylko zapis
-wx3
zapis i wykonywanie
r--
4
tylko odczyt
r-x
5
odczyt i wykonanie
rw-
6
odczyt i zapis
Rwx
7
zapis, odczyt i wykonywanie
chmod -R 777
chmod 1770
właściciel grupa inni
r w x r - x r - -
7 5 4
właściciel grupa inni
r w x r - x r w x
4 2 1 4 0 1 4 0 0
4+2+1
4+0+1
4+0+0
= 7 5 4
Liczba Litery
Prawa
4000 --s------
SetUserID (s)
2000 -----s---
SetGroupID (S)
1000 --------t
Sticky bit (t)
SetUserID
(setuid, SUID) – plik wykonywalny posiadający ten
atrybut zostanie uruchomiony na prawach właściciela pliku a nie
użytkownika, który go uruchamia. Niektóre polecenia administracyjne jak
np. sudo mogą wymagać ustawienia tego trybu dla poprawnego działania.
SetGroupID
(setgid, SGID) – plik wykonywalny posiadający ten
atrybut zostanie uruchomiony na prawach grupy posiadacza pliku. W
przypadku katalogów grupą posiadającą nowo utworzony plik będzie nie
grupa użytkownika tworzącego a grupa posiadająca dany katalog.
Sticky bit
- dla pliku wykonywalnego powoduje wymuszenie
przechowywania jego kodu w pamięci po zakończeniu działania programu
(aktualnie rzadko stosowane). W przypadku katalogów umożliwia kasowanie
lub zmianę nazwy elementów w nim się znajdujących tylko poprzez
właściciela katalogu, właściciela pliku/katalogu który się w nim znajduje lub
roota (w normalnym przypadku wewnątrz katalogu każdy może zmieniać
nazwę i usuwać elementy o ile podstawowe uprawnienia to dopuszczają).
Każdy nowo tworzony plik czy też katalog
musi mieć jakieś domyślne prawa dostępu.
O domyślnie nadawanych prawach
informuje maska. Jej wartość oznacza jakich
praw system ma nie nadać. Oznacza to, iż
nadawane uprawnienia obliczamy odejmując
od domyślnej wartości(666) maskę:
umask 444
-w--w--w-
ponieważ
666 - 444 = 222
Cyfra
Znaczenie
0 brak ograniczeń praw (zapis i odczyt)
2 wyłącza zapis (ustawia tylko odczyt)
4 wyłącza odczyt (ustawia tylko zapis)
6 wyłacza zapis i odczyt (brak praw do
pliku)