Razumevanje dozvola
Cilj lekcije: Naučiti kako Linux kontroliše pristup fajlovima i direktorijumima, razumeti rwx notaciju, tri nivoa pristupa i oktalnu notaciju.
Zašto postoje dozvole?
Na Linux sistemu sa više korisnika, potreban je mehanizam koji određuje ko šta sme da radi sa svakim fajlom. Bez dozvola, svaki korisnik bi mogao da čita, menja ili briše fajlove svih ostalih — što bi bio bezbednosni haos.
Linux koristi jednostavan ali moćan sistem dozvola zasnovan na tri vrste pristupa i tri nivoa ko ih ima.
Tri vrste dozvola (rwx)
Svaki fajl ili direktorijum ima tri moguće dozvole:
| Simbol | Naziv | Vrednost | Značenje za fajl | Značenje za direktorijum |
|---|---|---|---|---|
r |
read | 4 | Čitanje sadržaja fajla | Listanje sadržaja (ls) |
w |
write | 2 | Izmena sadržaja fajla | Kreiranje i brisanje fajlova |
x |
execute | 1 | Izvršavanje fajla kao programa | Ulaz u direktorijum (cd) |
- |
(ništa) | 0 | Dozvola nije dodeljena | Dozvola nije dodeljena |
Važno za direktorijume: Dozvola
xna direktorijumu ne znači "izvršavanje" već pristup — bez nje, ne možešcdu direktorijum čak i ako imašr.
Tri nivoa ko ima dozvole
Linux organizuje ko ima koje dozvole u tri grupe:
| Nivo | Naziv | Opis |
|---|---|---|
| u | user (vlasnik) | Korisnik koji je vlasnik fajla |
| g | group (grupa) | Korisnici koji su u grupi fajla |
| o | others (ostali) | Svi ostali korisnici sistema |
Svaki fajl ima tačno jednog vlasnika i jednu grupu. Dozvole se proveravaju redom: ako si vlasnik — primenjuju se u dozvole. Ako si u grupi — primenjuju se g dozvole. Inače — o dozvole.
Čitanje ls -l izlaza
Komanda ls -l prikazuje detaljne informacije o fajlovima, uključujući dozvole:
ls -l
-rwxr-xr-- 1 student projekat 4096 Apr 13 12:00 skripta.sh
drwxr-x--- 2 student projekat 4096 Apr 13 11:30 podaci/
-rw-r--r-- 1 student student 256 Apr 13 10:00 beleska.txt
-rw------- 1 student student 512 Apr 13 09:00 privatno.txt
Anatomija jedne linije
-rwxr-xr-- 1 student projekat 4096 Apr 13 12:00 skripta.sh
^^^^^^^^^^ ^ ^^^^^^^ ^^^^^^^^
| | | |
| | | +-- Ime grupe
| | +---------- Ime vlasnika
| +------------ Broj hard linkova
+----------------------- Tip fajla + dozvole (10 znakova)
Prvih 10 znakova — tip i dozvole
- r w x r - x r - -
^ ^^^ ^^^ ^^^
| | | |
| | | +-- Dozvole za ostale (others)
| | +------ Dozvole za grupu (group)
| +---------- Dozvole za vlasnika (user)
+------------ Tip fajla
Tip fajla:
-: običan fajld: direktorijuml: simbolički linkb: blok uređajc: karakterni uređaj
Primeri čitanja
| Dozvole | Vlasnik | Grupa | Ostali | Opis |
|---|---|---|---|---|
-rwxr-xr-- |
rwx | r-x | r-- | Vlasnik sve, grupa čita+izvršava, ostali samo čitaju |
-rw-r--r-- |
rw- | r-- | r-- | Tipičan tekstualni fajl (644) |
-rw------- |
rw- | --- | --- | Privatni fajl, samo vlasnik (600) |
drwxr-xr-x |
rwx | r-x | r-x | Tipičan direktorijum (755) |
drwx------ |
rwx | --- | --- | Privatni direktorijum (700) |
Oktalna notacija
Oktal = brojevni sistem sa ciframa 0-7. U dozvolama, svaka cifra (0-7) predstavlja kombinaciju rwx. NE moras razumeti oktal kao matematiku — samo prepoznaj cesto koriscene vrednosti iz tabele ispod.
Svaka dozvola ima numeričku vrednost: r=4, w=2, x=1. Saberi vrednosti za svaki nivo pristupa da dobiješ oktalnu vrednost.
Kako izračunati
r w x
4 2 1
| Kombinacija | Računanje | Oktalni broj |
|---|---|---|
rwx |
4+2+1 | 7 |
rw- |
4+2+0 | 6 |
r-x |
4+0+1 | 5 |
r-- |
4+0+0 | 4 |
-wx |
0+2+1 | 3 |
-w- |
0+2+0 | 2 |
--x |
0+0+1 | 1 |
--- |
0+0+0 | 0 |
Ceo oktal: tri cifre za u, g, o
rwxr-xr--
^^^ ^^^ ^^^
7 5 4 → 754
rw-r--r--
^^^ ^^^ ^^^
6 4 4 → 644
Najčešće korišćene oktalne vrednosti
| Oktal | Simbolički | Tipična upotreba |
|---|---|---|
755 |
rwxr-xr-x |
Izvršni programi, javni direktorijumi |
644 |
rw-r--r-- |
Obični tekstualni fajlovi |
600 |
rw------- |
Privatni fajlovi (SSH ključevi, lozinke) |
700 |
rwx------ |
Privatni direktorijumi |
664 |
rw-rw-r-- |
Zajednički fajlovi za grupu |
775 |
rwxrwxr-x |
Zajednički direktorijumi za grupu |
777 |
rwxrwxrwx |
Potpuno otvoreno (izbegavati!) |
Upozorenje:
chmod 777je gotovo uvek loša ideja — daje svima na sistemu punu kontrolu nad fajlom ili direktorijumom. Koristi što restriktivnije dozvole koje ti zadatak dozvoljava.
Primer — šta se dešava bez x na direktorijumu
ls -ld /home/alice/
# drw-r--r-- 2 alice alice 4096 Apr 13 12:00 /home/alice/
# Pokušaj ulaska:
cd /home/alice/
# bash: cd: /home/alice/: Permission denied
# Čak i ls ne radi bez x:
ls /home/alice/
# ls: cannot access '/home/alice/': Permission denied
Čak i ako imaš r na direktorijumu, bez x ne možeš pristupiti sadržaju.
Rezime
- Tri dozvole: r (čitanje, 4), w (pisanje, 2), x (izvršavanje, 1)
- Tri nivoa: u (vlasnik), g (grupa), o (ostali)
- Oktal = saberi r+w+x za svaki nivo:
755,644,600 - Na direktorijumima,
xznači pristup/ulaz, ne izvršavanje - Čitaj
ls -l: prvih 10 znakova = tip + dozvole za u, g, o