Copyright © 2008 Marko Doko <mdoko@math.hr>.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found here.
Studentske stranice se nalaze na web serveru web.studenti.math.hr
. Ako je Vaše korisničko ime
(u računalnom sustavu fakulteta) username
, onda se Vaša početna stranica nalazi na adresi
http://web.studenti.math.hr/~username/
, preciznije rečeno, Vaša početna stranica je
http://web.studenti.math.hr/~username/index.html
, no ako se u adresi ne navede dokument, onda većina web servera
(pa tako i ovaj naš) pretpostavlja da se radi o dokumentu index.html
unutar navedenog direktorija.
Stvarna lokacija direktorija http://web.studenti.math.hr/~username/
je public_html
direktorij u home direktoriju korisnika
username
na računalu student.math.hr
. Skraćena oznaka za home direktorij na UNIX-oidnim sustavima je
~
. Kako bi imali funkcionalnu početnu stranicu, trebate kreirati direktorij ~/public_html
i unutar njega imati
datoteku index.html
.
Ali, to nije sve! Kako bi svijet mogao pristupiti vašoj stranici, trebate postaviti odgovarajuća dopuštenja na svoj home
direktorij, ~/public_html
direktorij i sve datoteke i direktorije unutar ~/public_html
direktorija.
Na UNIX-oidnim sustavima za svaku datoteku (direktoriji su posebna vrsta datoteka!) se zna kome ta datoteka pripada, odnosno tko
je vlasnik (eng. owner) te datoteke. U pravilu, vlasnik datoteke je onaj tko je tu datoteku kreirao, no moguće je mijenjati
vlasništvo nad datotekom. Za promjenu vlasništva koristi se naredba
chown
.
UNIX-oidni sustavi su višekorisnički, pa je stoga potrebno omogućiti da određenim sadržajima može pristrupiti više
korisnika. (Npr. stranicu kolegija Mreže računala trebali bi moći uređivati svi nastavnici koji sudjeluju u izvođenju nastave
iz tog kolegija.) Zbog toga su uvedene korisničke grupe. Korisničke grupe su skupovi korisnika, a glavna korist korisničkih
grupa je to što se za svaku datoteku, uz to tko je njen vlasnik, zna i kojoj grupi korisnika pripada, pa se shodno tome mogu postavljati i
posebna prava pristupa toj datoteci za korisnike koji pripadaju toj grupi. Za promjenu grupe kojoj pripada datoteka koristi se naredba
chgrp
.
Kako vidjeti tko su vlasnici datotekâ i kojim grupama te datoteke pripadaju? Popis datoteka u trenutnom direktoriju, zajedno s dodatnim
informacijama o svakoj pojedinoj datoteci možemo dobiti pomoću naredbe ls -l
. Evo i primjera jednog takvog ispisa
(radi se o početnom diektoriju web stranice kolegija Mreže računala):
-rw-rw-r-- 1 zbujanov mreze 310 Oct 9 2007 footer.php -rw-rw-r-- 1 zbujanov mreze 3.3K Oct 9 2007 header.php drwxrwxr-x 4 zbujanov mreze 4.0K Nov 12 2007 images -rw-rw-r-- 1 zbujanov mreze 2.9K Oct 9 2007 index.php -rw-rw-r-- 1 mdoko mreze 9.7K Nov 19 13:01 jmbags.php drwxrwx--x 4 zbujanov mreze 4.0K Nov 29 02:16 kolokviji -rw-rw-r-- 1 mdoko mreze 4.2K Dec 1 16:40 kolokviji.php -rw-rw-r-- 1 mdoko mreze 6.2K Nov 6 03:39 linkovi.php -rw-rw-r-- 1 mdoko mreze 13K Dec 8 11:15 materijali.php -rw-rw-r-- 1 mdoko mreze 1.6K Nov 6 03:27 nastava.php -rw-rw-r-- 1 mdoko mreze 75K Nov 23 03:58 raspored_za_predaju_zadace.html -rw-rw-r-- 1 zbujanov mreze 65K Nov 24 2007 salabahter.pdf -rw-rw---- 1 zbujanov mreze 9.5K Nov 24 2007 salabahter.tex drwxrwx--x 3 zbujanov mreze 4.0K Sep 24 16:44 slideovi -rw-rw-r-- 1 zbujanov mreze 2.0K Oct 9 2007 style.css -rw-rw-r-- 1 mdoko mreze 7.3K Nov 23 04:06 zadace.php
U prvom stupcu nalazi se lista dopuštenja za svaku od datoteka (detaljno o ovome malo kasnije). U trećem stupcu je zapisan
vlasnik datoteke (npr. vlasnik datoteke footer.php
je korisnik zbujanov
, dok je mdoko
vlasik datoteke
zadace.php
), a u četvrtom stupcu piše grupa kojoj datoteka pripada (u ovom primjeru, sve datoteke pripadaju grupi
mreze
). U petom stupcu je zapisana veličina datoteke, nakon toga slijedi vrijeme zadnje promjene sadržaja datoteke i naziv
datoteke.
(Broj u drugom stupcu odnosi se na broj hard linkova prema datoteci. Hard linkovi nisu vezani za dopuštenja, pa se nećemo
upuštati u objašnjavanje tog pojma.)
Uočimo da u odnosu na svaku pojedinu datoteku, korisnike možemo podijeliti u tri skupine:
Za svaku od tih triju skupina korisnika, njen vlasnik može postaviti različite razine dopuštenja, odnosno odrediti što korisnici koji pripadaju pojedinoj skupini mogu raditi s tom datotekom.
Na UNIX-oidnim sustavima postoje tri vrste dopuštenja (eng. permissions) za pristup datotekama. Svako od njih ima različitu interpretaciju u ovisnosti o tome radi li se o "običnoj" datoteci ili o direktoriju.
ls -l
).
cd
), odnosno pravo pristupa datotekama koje
se nalaze unutar tog direktorija.
Dopuštenja čitanja, pisanja i izvršavanja se kratko nazivaju r, w i x dopuštenja.
Neke stvari na koje treba obratiti pozornost vezano za dopuštenja su:
Vratimo se sada na primjer iz prethodnog poglavlja i skoncentrirajmo se na prvi stupac u kojem se nalazi lista dopušenja.
-rw-rw-r-- 1 zbujanov mreze 310 Oct 9 2007 footer.php -rw-rw-r-- 1 zbujanov mreze 3.3K Oct 9 2007 header.php drwxrwxr-x 4 zbujanov mreze 4.0K Nov 12 2007 images -rw-rw-r-- 1 zbujanov mreze 2.9K Oct 9 2007 index.php -rw-rw-r-- 1 mdoko mreze 9.7K Nov 19 13:01 jmbags.php drwxrwx--x 4 zbujanov mreze 4.0K Nov 29 02:16 kolokviji -rw-rw-r-- 1 mdoko mreze 4.2K Dec 1 16:40 kolokviji.php -rw-rw-r-- 1 mdoko mreze 6.2K Nov 6 03:39 linkovi.php -rw-rw-r-- 1 mdoko mreze 13K Dec 8 11:15 materijali.php -rw-rw-r-- 1 mdoko mreze 1.6K Nov 6 03:27 nastava.php -rw-rw-r-- 1 mdoko mreze 75K Nov 23 03:58 raspored_za_predaju_zadace.html -rw-rw-r-- 1 zbujanov mreze 65K Nov 24 2007 salabahter.pdf -rw-rw---- 1 zbujanov mreze 9.5K Nov 24 2007 salabahter.tex drwxrwx--x 3 zbujanov mreze 4.0K Sep 24 16:44 slideovi -rw-rw-r-- 1 zbujanov mreze 2.0K Oct 9 2007 style.css -rw-rw-r-- 1 mdoko mreze 7.3K Nov 23 04:06 zadace.php
Lista dopuštenja je niz od 10 znakova. Prvi znak u stvari nije dopuštenje, nego informacija radi li se o direktoriju [d
] ili
o običnoj datoteci [-
]. (Postoje i drugi specijalni tipovi datoteka osim direktorija, no ukoliko se s njima susretnete, vjerojatno
ćete već znati o čemu se radi, tako da o njima ovdje neće biti govora.) Preostalih 9 znakova su u stvari tri grupe od po tri znaka.
Prva grupa se odnosi na dopuštenja vlasnika, druga na dopuštenja grupe, a treća na dopuštenja za ostale korisnika.
U svakoj grupi znakovi imaju sljedeće značenje:
r
ako korisnik ima pravo čitanja, -
inače.w
ako korisnik ima pravo pisanja, -
inače.x
ako korisnik ima pravo izvršavanja, -
inače.Pogledajmo dva primjera
footer.php
ima listu dopuštenja -|rw-|rw-|r--
, što znači da se radi o običnoj datoteci, na kojoj
vlasnik i grupa imaju dopuštenja r i w, dok svi ostali imaju samo r dopušenje.
kolokviji
ima listu dopuštenja d|rwx|rwx|--x
, što znači da se radi o direktoriju, na kojem
vlasnik i grupa imaju sva dopuštenja (odnosno r,w i x), dok svi ostali imaju samo x dopušenje.
Dopuštenja na pojedinoj datoteci označavamo na dva načina. Prvi smo već vidjeli, to je način na koji to prikazuje
naredba ls -l
(tri grupe od tri znaka). Drugi način je malo kraći, a zasniva se na tome da svaku grupu od tri znaka shvatimo
kao jedan troznamenkasti broj u binarnom zapisu tako što dopuštenja koja su postavljena shvaćamo kao 1, a ona koja nisu postavljena kao
0. Sjetimo se da se grupa od tri binarne znamenke odgovara jednoj oktalnoj znamenci i dobivamo skraćeni zapis u kojem dopuštenja na
datoteci bilježimo s tri oktalne znamenke. Pogledajmo par primjera:
rwxr-xr-x
skraćeno zapisujemo 755 rw-r--r--
skraćeno zapisujemo 644 rwx-----x
skraćeno zapisujemo 701 rw----r--
skraćeno zapisujemo 604
Pravo postavljanja dopuštenja imju vlasnik daoteke i administrator sustava. Za postavljanje dopuštenja koristi se naredba
chmod
. Ovdje ćemo pokazati dva osnovna načina za postavljanje dopuštenja. Za dodatne informacije pogledajte
man chmod
.
Ako želite samo modificirati već postojeća dopuštenja (npr. grupi oduzeti pravo modificiranja ili ostalima dati pravo čitanja),
koristite simbolički mod naredbe chmod
:
chmod kap datoteka
gdje je
k
— oznaka korisnika: u
za vlasnika (user);
g
za grupu (group);
o
za ostale (others).
Moguće je odjednom navesti više oznaka.
a
— akcija: +
za dodavanje dopuštenja; -
za oduzimanje dopuštenja;
=
za postavljanje točno navedenih dopuštenja. Odjednom je moguće navesti samo jednu akciju.
p
— oznaka dopuštenja: oznake su r
, w
i x
sa standardnim značenjem.
Moguće je odjednom navesti više oznaka.
Primjeri:
chmod u+x datoteka
— dodaj vlasniku pravo izvršavanja chmod go-w datoteka
— oduzmi grupi i ostalima pravo pisanja chmod ugo=rw datoteka
— postavi dopuštenja tako da svi (vlasnik, grupa i ostali) imaju pravo čitanja i pisanja, ali
nemaju pravo izvršavanja
Za eksplicitno postavljanje dopuštenja na točno specificirane postavke koristi se numerički mod naredbe chmod
:
chmod xyz datoteka
gdje je xyz
troznamenkasti broj u oktalnoj bazi koji predstavlja skraćeni zapis dopuštenja.
Primjer: chmod 604 datoteka
– postavlja dopuštenja datoteke na 604.
Ovdje ćemo navesti najmanja dopuštenja koja trebaju imati Vaše datoteke kako biste imali funkcionalnu osobnu web stranicu na studentskom serveru. Dobro je uvijek imati postavljena najmanja dopuštenja potrebna da se ostvari željena funkcionalnost. Na taj način povećavate sigurnost i štitite svoju privatnost.
Vi kao vlasnik trebate imati maksimalna prava, pa tako za direktorije trebate imati rwx
dopuštenja, a za obične datoteke
rw-
dopuštenja. Pravo izvršavanja vam ne treba, jer unutar web stranice (u pravilu) nećete imati nikakve aplikacije.
Kako se radi o osobnoj stranici, a ne o stranici koju održava više osoba, grupa ne treba imati nikakva prava pristupa datotekama vaše stranice.
Korisnici koji putem Interneta pristupaju Vašoj stranici spadaju u kategoriju "ostalih korisnika", pa im prema tome morate dati pravo
čitanja običnih datoteka (r
), a u slučaju direktorija dovoljano je pravo izvršavanja (x
),
jer korisnici vaše stranice ne moraju moći vidjeti koje se sve datoteke nalaze u pojedinim direktorijima.
Kao što smo vidjeli, za funcionalnu stranicu, direktoriji (uključujuci ~
i ~/public_html
) trebaju imati
dopuštenja 701, a obične datoteke 604. Kako bi dopuštenja na direktorijima ~
i ~/public_html
, kao i
na svim datotekama i direktorijima koje se nalaze unutar ~/public_html
postavili na 701, odnosno 604 (s obzirom na to radi li se
o direktorijima ili običnim datotekama) dovoljno je izvršiti sljedeće tri naredbe:
chmod 701 ~ ~/public_html find ~/public_html -type d -exec chmod 701 '{}' \; find ~/public_html -type f -exec chmod 604 '{}' \;Ako želite saznati više o naredbi
find
, pogledajte
man find
.