Bezbednost fajl sistema (prava pristupa)

U vasem unixstuff direktorijumu, kucajte

% ls -l (l for long listing!)

Videcete da sada dobijate dosta detalja o sadrzaju vaseg direktorijuma, slicno primeru ispod.

Svaki fajl (i direktorijum) ima pridruzena prava pristupa, koja se mogu naci kucajuci ls -l. Isto tako, ls -lg daje dodatne informacije o tome koja grupa je vlasnik fajla (beng95 u slecem primeru):

  -rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1

U koloni sa leve strane nalazi se niz od 10 znakova koji se sastoji od znakova d, r, w, x, -, i, povremeno, s ili S. Ako je d prisutno, onda ce se nalaziti na krajnjoj levoj strani niza, i predstavlja direktorijum: u suprotnom - ce biti pocetni znak niza.

Ostalih 9 znakova predstavljaju dozvole, ili prava pristupa, i predstavljena su kao tri grupe po 3 znaka.

  • Leva grupa od 3 znaka predstavljaju dozvole za korisnika koji je vlasnik fajla (ili direktorijuma) (ee51ab u gornjem primeru);
  • srednja grupa predstavlja dozvole za grupu ljudi kojima fajl (ili direktorijum) pripada (eebeng95 u gornjem primeru);
  • grupa krajnje destno predstavlja dozvole za sve ostale korisnike.

Znaci r, w, itd., se malo razlikuju u znacenju u zavisnosti dali se odnose na jednostavan fajl ili direktorijum.

Prava pristupa za fajlove.

  • r (ili -), predstavlja prava citanja (ili suprotno), sto znaci, prisustvo ili odsustvo dozvole za citanje kopiranje fajla
  • w (ili -), predstavlja prava pisanja (ili suprotno), sto znaci, dozvolu (ili suprotno) za menjanje falja
  • x (ili -), predstavlja dozvolu za izvrsenje (ili suprotno), sto znaci, dozvolu za izvrsenje fajla, gde je to odgovarajuce

Prava pristupa za direktorijume.

  • r dozvoljava korisnicima da izlistaju fajlove u tom direktorijumu;
  • w znaci da korisnici mogu da izbrisu fajlove iz tog direktorijuma ili da premestaju fajlove u njega;
  • x znaci pravo pristupa fajlovima u tom direktorijumu. Ovo znaci da mozete citati fajlove u direktorijumu u slucaju da imate dozvolu citanja za individualne fajlove.

Znaci, da bi ste mogli da procitate fajl, morate imati pravo pristupa za direktorijum koji sadrzi taj fajl, i isto tako za bilo koji direktorijum koji sadrzi taj direktorijum kao pod-direktorijum, i tako dalje, do tri.

Neki primeri

-rwxrwxrwxfajl koji svako moze da cita, menja i izvrsava (i brise).
-rw——-nema prava izvrsenja (npr. vas mailbox fajl).

Promena prava pristupa

chmod (changing a file mode)

Samo vlasnik fajla moze da koristi chmod da menja dozvole fajla. Opcije za chmod su sledece

ZnakZnacenje
ukorisnik
ggrupa
oostali
asvi
rcitanje
wpisanje (i brisanje)
xizvrsavanje (i pristup direktorijumu)
+dodaj dozvolu
-oduzmi dozvolu

Na primer, da uklonite dozvole za citanje, menjanje i izvrsenje fajla biglist za grupu i ostale, kucajte % chmod go-rwx biglist Ovo nece imati uticaj na ostale dozvole. Da date dozvole za citanje i menjanje na fajlu biglist za sve, % chmod a+rw biglist

Vezba 5a

Probajte da menjate pristupne dozvole na fajlu science.txt i direktorijumu backups

Koristite ls -l da proverite da su se dozvole promenile.

Procesi i Poslovi

Proces je izvrsni program identifikovan jedinstvenim PID-om (process identifier). Da vidite informacije o vasim procesima, sa njihovim dodeljenim PID-om i statusom, kucajte

% ps 

Proces moze biti u prvom planu, u pozadini, ili moze biti suspendovan. Generalno shell ne vraca UNIX prompt dok se trenutni proces ne zavrsi.

Nekim procesima treba dosta vremena da se izvrse i zauzimaju terminal. Stavljajuci dug proces u pozadinu za efekat ima da se UNIX prompt vrati odmah, i ostali zadaci se mogu izvrsavati dok originalni proces nastavlja izvrsavanje.

Pokretanje procesa u pozadini Da proces posaljete u pozadinu, ukucajte & na kraju komandne linije. Na primer, komanda sleep ceka zadati broj sekundi pre nego sto nastavi. Kucajte

% sleep 10 

Ovo ce sacekati 10 sekundi pre nego sto vrati command prompt %. Dok se command prompt ne vrati, nemozete nista uraditi osim da cekate.

Da pokrenete sleep u pozadini, kucajte

% sleep 10 &

[1] 6259 

Znak & pokrece posao u pozadini i vraca prompt odmah, dozvoljavajuci vam da pokrenete druge programe dok cekate da se ovaj zavrsi.

Prvu liniju u gornjem primeru kuca korisnik; sledeca linija, predstavljajuci broj posla i PID, prikazuje masina. Korisniju se saopstava broj posla (pocevsi od broja 1) u zatvorenim viticastim zagradama, zajedno sa PID i saopstava mu se kada se proces u pozadini zavrsi. Stavljanje u pozadinu je korisno za poslove kojima treba dosta vremena za izvrsenje.

Stavljanje trenutnog procesa iz prvog plana u pozadinu

U prompt-u, kucajte

% sleep 100 

Mozete suspendovati proces koji radi u prvom planu tako sto cete drzati taster [control] i kucajuci [z] (pise se kao ^Z) Onda da ga stavite u pozadinu, kucajte

% bg 
Beleska: nemojte stavljati u pozadinu programe koji zahtevaju interakciju korisnika npr. pine

Izlistavanje suspendovanih i procesa u pozadini

Kada je proces pokrenut, stavljen u pozadinu ili suspendovan, bice ubacen na listu zajedno sa brojem posla. Da pregledate ovu listu, kucajte

% jobs 

Primer liste poslova moze biti

[1] Suspended sleep 100
[2] Running netscape
[3] Running nedit 

Da ponovo pokrenete (u prvom planu) suspendovani proces, kucajte

% fg %jobnumber 

Na primer, da ponovo pokrenete sleep 100, kucajte

% fg %1 

Kucajuci fg bez broja posla stavlja u prvi plan zadnji suspendovani proces.

Stopiranje procesa

kill (terminate or signal a process)

Nekada je neophodno da se proces stopira (na primer, kada se izvrsni program nadje u vecitoj petlji)

Da stopirate posao koji radi u prvom planu, kucajte ^C (control c). Na primer, pokrenite

% sleep 100
^C 

Da stopirate suspendovan ili proces u pozadini, kucajte

% kill %jobnumber 

Na primer, pokrenite

% sleep 100 &
% jobs

Ako je posao broj 4, kucajte

% kill %4 

Da ovo proverite, pogledajte ponovo listu poslova da vidite dali je proces uklonjen.

ps (process status)

Alternativno, procesi se mogu stopirati tako sto se nadje njihov broj procesa (PID) i koristeci kill PID_broj

% sleep 100 &
% ps

PID TT S TIME COMMAND
20077 pts/5 S 0:05 sleep 100
21563 pts/5 T 0:00 netscape
21873 pts/5 S 0:25 nedit 

Da stopirate proces sleep 100, kucajte

% kill 20077 

i onda kucajte ps opet da vidite dali je uklonjen sa liste.

Ako proces odbija da bude stopiran, koristite opciju -9, tj. kucajte

% kill -9 20077 
Beleska: nije moguce stopirati procese drugih korisnika !!!

Pregled

ls -lagizlistava prava pristupa za sve fajlove
chmod [opcije] fajlmenja prava pristupa za navedeni fajl
komanda &pokrece komandu u pozadini
^Cstopira proces koji radi u prvom planu
^Zsuspenduje posao koji radi u prvom planu
bgstavlja u pozadinu suspendovani posao
jobs izlistava trenutne poslove
fg %1stavlja u prvi plan posao broj 1
kill %1stopira posao broj 1
psizlistava trenutne procese
kill 26152stopira proces broj 26152
 
peti_tutorijal.txt · Last modified: 2007/07/17 10:29 (external edit)
 
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki