Sljedeći dio Prethodni dio Sadržaj

5. Dozvole i vlasništvo

DOS datoteke i direktoriji imaju ove atribute: A (arhiviran), H (skriven), R (samo za čitanje) i S (sustav). Samo H i R imaju smisla pod Linuxom: skrivene datoteke počinju točkom, a za R atribut čitajte dalje.

Pod Unixom datoteka ima dozvole i vlasnika, koji pripada grupi. Pogledajte ovo:

$ ls -l /bin/ls
-rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*

Prvo polje sadrži dozvole za datoteku /bin/ls, koja pripada rootu, grupi bin. Bez obzira na to, zapamtite što -rwxr-xr-x znači, s lijeva na desno:

- je tip datoteke (-: obična, d: direktorij, l: veza, itd.); rwx su dozvole za vlasnika datoteke (čitanje, pisanje, izvršavanje); r-x su dozvole za grupu vlasnika datoteke (čitanje, izvršavanje) (neću objašnjavati grupe, preživjet ćete bez toga dok ste početnik ;-); r-x su dozvole za sve ostale korisnike (čitanje, izvršavanje).

I direktorij /bin ima dozvole: pogledajte dio Dozvole direktorija za detalje. Zato ne možete obrisati datoteku /bin/ls osim ako ste root: za to nemate dozvole. Naredba za mijenjanje dozvola datoteka je:

$ chmod <tkoXdozvola> <datoteka>

gdje je tko u (korisnik, tj. vlasnik), g (grupa), o (ostali); X je + ili -; dozvola je r (čitanje), w (pisanje), x (izvršavanje). Evo čestih primjera korištenja chmoda:

$ chmod +x datoteka
To postavlja dozvolu za izvršavanje datoteke.

$ chmod go-rw datoteka
To oduzima dozvole za čitanje i pisanje svima osim vlasniku.

$ chmod ugo+rwx datoteka
To svima daje dozvole za čitanje, pisanje i izvršavanje.

$ chmod +s datoteka
Time dobivamo takozvanu setuid ili suid datoteku -- svatko ju može izvršiti s privilegijama njenog vlasnika. Najčešće su root suid datoteke; to obično važne datoteke sustava, kao što je X server.

Kraći način za pisanje dozvola je brojkama: rwxr-xr-x možemo izraziti kao 755 (svako slovo odgovara bitu: --- je 0, --x je 1, -w- je 2, -wx je 3). Izgleda teško, ali shvatit ćete uz malo prakse. root kao nadkorisnik može mijenjati dozvole svake datoteke. RMP.

5.1 Datoteke: prevođenje naredbi

Na lijevoj strani su DOS naredbe; na desnoj Linux pandani.


ATTRIBchmod COPYcp DELrm MOVEmv RENmv TYPEmore, less, cat nul/dev/null prn, lpt1/dev/lp0 ili /dev/lp1; lpr

Operatori za redirekciju i piping: < > >> |

Metaznakovi: * ?

5.1.1 Primjeri

DOS                                     Linux
--------------------------------------  ------------------------------
C:\GUIDO>ATTRIB +R DATOTEKA.TXT         $ chmod 400 datoteka.txt
C:\GUIDO>COPY JURICA.TXT JURICA.DOC     $ cp jurica.txt jurica.doc
C:\GUIDO>COPY *.* SVE                   $ cat * > sve
C:\GUIDO>COPY FRAKTALI.DOC PRN          $ lpr fraktali.doc
C:\GUIDO>DEL PRIV                       $ rm priv
C:\GUIDO>DEL *.BAK                      $ rm *~
C:\GUIDO>MOVE DOKUMENT.TXT TMP\         $ mv dokument.txt tmp/
C:\GUIDO>REN DOKUMENT.TXT DOKUMENT.ASC  $ mv dokument.txt dokument.asc
C:\GUIDO>PRINT PISMO.TXT                $ lpr pismo.txt
C:\GUIDO>TYPE PISMO.TXT                 $ more pismo.txt
C:\GUIDO>TYPE PISMO.TXT                 $ less pismo.txt
C:\GUIDO>TYPE PISMO.TXT > NUL           $ cat pismo.txt > /dev/null
        nema                            $ more *.txt *.asc
        nema                            $ cat dio*.txt | less

Napomene:

5.2 Pokretanje programa: višezadaćnost i sesije

Kako biste pokrenuli program, napišite njegovo ime kao i pod DOS-om. Ako je direktorij (poglavlje Korištenje direktorija) u kojem je program smješten uključen u $PATH (poglavlje Inicijalizacijske datoteke sustava), program će se pokrenuti. Iznimka: za razliku od DOS-a, pod Linuxom se program u trenutnom direktoriju neće pokrenuti osim ako je taj direktorij u $PATH-u. Rješenje: ako je prog vaš program, napišite ./prog.

Ovako izgleda tipična naredba:

$ naredba [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< ulaz] [> izlaz]
gdje su -s1, ..., -sn programski prekidači; par1, ..., parn programski parametri. U jednom redu možete pokrenuti više programa:
$ naredba1 ; naredba2 ; ... ; naredban

To je sve o pokretanju programa, ali lako je nastaviti. Jedan od glavnih razloga za korištenje Linuxa je višezadaćnost. Više programa (od sada, procesa) radi u isto vrijeme. Možete ih pokretati u pozadini i nastaviti rad bez prekida. Linux vam dopušta i nekoliko sesija: kao da radite na više računala odjednom!

Korištenjem ovih naredbi možete formatirati disketu, arhivirati hrpu datoteka, kompajlirati program i otpakirati arhivu skoro istovremeno, i još uvijek imati prompt pred sobom. Probajte to na Windowsima, samo da vidite razliku u brzini (naravno, ako se ne sruše).

5.3 Pokretanje programa na udaljenim računalima

Kako biste pokrenuli program na udaljenom računalu čije je ime udaljeno.računalo.edu, napišite:

$ telnet udaljeno.računalo.edu

Nakon što se ulogirate, pokrenite svoj omiljeni program. Naravno, na tom računalu morate imati korisnički račun.

Ako imate X11, čak možete na udaljenom računalu pokrenuti X aplikaciju, prikazanu na vašem X prikazu. Neka je udaljeno.računalo.edu udaljeno X računalo i moja.linux.kanta vaš Linux sustav. Kako biste s moja.linux.kanta pokrenuli X program koji se nalazi na udaljeno.računalo.edu, učinite slijedeće:

Eto! Sada će se imeprograma pokrenuti na udaljeno.računalo.edu i prikazati na vašem stroju. No nemojte ovo pokušavati preko modema -- presporo je da bi se moglo koristiti. Štoviše, ovo je gruba i nesigurna metoda: pročitajte ``X na daljinu mini-KAKO'' na http://dokumentacija.linux.hr/X-na-daljinu.html.


Sljedeći dio Prethodni dio Sadržaj