Linux Ubuntu - nadzorowanie uprawnień do plików i folderów
Sprawdzanie zezwoleń
Zezwolenia do plików i folderów sprawdzamy poprzez ls -l
uczen@linux:/$ ls -l razem 92 drwxr-xr-x 2 root root 4096 sty 12 2015 bin drwxr-xr-x 3 root root 4096 sty 12 2015 boot drwxrwxr-x 2 root root 4096 sty 12 2015 cdrom drwxr-xr-x 15 root root 4100 mar 8 10:12 dev drwxr-xr-x 129 root root 12288 mar 8 10:13 etc drwxr-xr-x 3 root root 4096 sty 12 2015 home
Zezwolenia | Użytkownik | Grupa | ||||||
---|---|---|---|---|---|---|---|---|
drwxr-xr-x | 2 | root | root | 4096 | sty | 12 | 2015 | bin |
Pamiętać należy, że użytkownik, jest tutaj używany w znaczeniu właściciel.
zezwolenia
Przykład zezwoleń do katalogu:
drwxr-xr-x
Jak widać zezwolenia zajmują 10 znaków.
identyfikator typu obiektu | Użytkownik (U) | Grupa (G) | Inni (O) |
---|---|---|---|
d | rwx | r-x | r-x |
identyfikator typu obiektu | opis |
---|---|
- | zwykły plik |
d | katalog |
b | specjalny plik blokowy |
c | specjalny plik znakowy |
l | połączenie symboliczne |
p | nazwany potok |
s | gniazdo |
r |
odczyt (read) |
w |
zapis (write) |
x |
wykonywanie (execute) |
chmod
Polecenie chmod służy do zmiany zezwoleń dostępu do plików i katalogów.
Przykład zastosowania systemu literowego:
chmod u-x nazwa_pliku
odebranie użytkownikowi prawa do wykonywania
chmod g+w nazwa_pliku
nadanie prawa do zapisu dla grupy
chmod a-x nazwa_pliku
odebranie wszystkim (a=ugo) prawa do wykonywania
chmod a=rwx nazwa_pliku
nadanie wszystkim praw przez przypisanie, w tym przypadku nadanie rwx
chmod go=rx nazwa_pliku
przypisanie grupie i innym prawa do odczytu i wykonywania
Można również ustawiać zezwolenia numerycznie, gdzie:
odczyt (read) | r | 4 |
zapis (write) | w | 2 |
wykonywanie (execute) | x | 1 |
Oczywiście te wartości się sumują. I tak rwx=7, rw=6 itp.
Przykład zastosowania systemu numerycznego:
chmod 777 nazwa_pliku
nadanie pełnych praw (7=rwx) do pliku dla wszystkich użytkowników (7 dla u, 7 dla g i 7 dla o)
chmod 700 nazwa_pliku
nadanie pełnych praw dla użytkownika, pozbawienie reszty praw.
chmod 755 nazwa_pliku
Nadanie pełnych praw dla użytkownika, odczytu i wykonywania dla grupy i innych
Dla łatwiejszego zrozumienia zebrałem wcześniejsze informacje i zamknąłem w poniższym obrazku.
Uprawnienia w środowisku graficznym
Do sprawdzenia i zmiany uprawnień używamy nautilusa.
Poniżej pokazano uprawnienia do katalogu
Poniżej dla porównania ls -l
uczen@linux:~$ ls -l razem 92 drwxrwxr-x 2 uczen uczen 4096 mar 2 13:44 k1
Tworzenie i usuwanie plików = rwx
Dostęp do plików = r-x
Poniżej pokazano uprawnienia do pliku
Poniżej dla porównania ls -l
uczen@linux:~/k1$ ls -l razem 0 -rw-rw-r-- 1 uczen uczen 0 mar 2 13:42 lista.txt
chown
Wkrótce wrzucę. Na razie chown --help
chgrp
Wkrótce wrzucę. Na razie chgrp --help
Ćwiczenia
Zezwolenia ustawiamy jednym poleceniem.
- W katalogu domowym załóż katalog k1. Ustaw mu numerycznie zezwolenia
drwxrw-r--
. - Odbierz innym możliwość odczytu (system literowy).
- Dodaj grupie możliwość wykonywania (system literowy).
- Przypisz wszystkim możliwość odczytu, zapisu oraz wykonywania (system literowy).
- Odbierz grupie i innym możliwość zapisu (system literowy).
- Nadaj numerycznie zezwolenia
dr-xrw-r--
. - Przypisz grupie i innym odczyt i wykonywanie (system literowy).
- Załóż w katalogu k1 plik tekstowy p1.txt. Ustaw mu numerycznie zezwolenia
-rw-r--r--
. - Numerycznie ustaw dla katalogu k1 i całej jego zawartości zezwolenia odczytu i wykonywania.
- Załóż katalog k2 przypisując mu uprawnienia
drwx------
, ale nie masz korzystać z polecenia chmod.